Hi,
bei eeprom_write_byte wird als erster Parameter ein Zeiger auf ein Byte erwartet, du übergibst allerdings den Wert. Deshalb die Warnung.
Für realloc, free und itoa musst du die entsprechenden Headerdateien einbinden. Dies ist hier die stdlib.h, das machst du so: (bis oben im Programm)
#include <stdlib.h>

Viele Grüße
CsT