I2c data encoding - Synchronise many arduinos

  TWBR = 400000L;
  Wire.begin();

I don't know what exactly you want to do with this code but TWBR is overwritten in Wire.begin(). The value doesn't make sense anyway, TWBR is a byte register, your setting would result in a I2C frequency of about 60kHz (0x80), if you place it after the Wire.begin().

      delay(0.05);

That one also probably doesn't do what you expect it to. It uses a few clock cycles and returns almost immediately.

In the slave code, sendData() and receiveData() are called in interrupt context, so never, never call any method of the Serial object inside of it. All variables used in both routines have to be declared "volatile".

Do you expect on the PC to receive a vertical tab (ASCII 11)?