How to get I2C to shut up while waiting for data in master transmit mode on LPC1114
Disabling the interrupt when you have no data to send is exactly the correct approach to take with a hardware I2C master controller.

When the data is available, re-enable the interrupt and you'll immediately take it, which will transfer the byte to the controller.