I2C EEPROM programmer

You are leaving out the eeprom memory location from your code.

void writeBytes(int device, unsigned int Address, byte* data, byte len)
{
  Wire.beginTransmission(device);
  Wire.write(Address >>8 ); //MSB
  Wire.write(Adderess& 0xFF); // LSB
  Wire.write(data,len);
  Wire.endTransmission();
  delay(5);//small delay for eeprom to save data
 }

You need to be careful of page boundaries with block writes to an external eeprom. I would echo the sentiments of reply#5 and consider using the Christensen library.