3.3v Arduino I2C communication with motor controller powered at ~6v
will the varying voltage of the battery cause the communication to be unstable? 


No. As the battery voltage drops the input HIGH threshold (which is a function of VCC) also drops. If anything as the battery voltage drops the communication becomes more stable. 

Since I2C is an open drain protocol the voltage makes no different for sending data - that voltage is set by the pull-up resistors to 3.3V.