Using I2C on ATMEGA328P-PU not working

That's nasty. It seems that it is barely running.
Is there something at 0xE8 or is that the wrong address ?
Perhaps the voltage is too low. Is it above 4.5 V ? Or the breadboard has bad contacts. Or you need more decoupling capacitors. Or there is a ground wire missing somewhere. Or a shortcut with RX and TX.
Start with the serial communication. Remove everything else. Make a sketch that outputs some text in the loop and add a delay() and see if it can output a nice stream of text.

void loop()
{
  Serial.println( "Hello World");
  delay( 500);
}