me parece que los #defines deben ir antes d incluir la libreria donde seguamente los necesita, creo que debería ir así:
#FUSES NOWDT,HS,NOPUT,PROTECT,NOBROWNOUT,NOLVP,NOCPD,NOWRT,NODEBUG
#use delay(clock=20000000) //Velocidad del reloj
//Directivas para el manejo de los puertos
//#use fast_io(A)
//#use fast_io(B)
//#use fast_io(C) //si los usas deberian estar ubicados por aca
#use rs232(baud=9600,parity=N,bits=8,stop=1,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C5,errors) //enable=PIN_C5 hace que el C maneje el pin de habilitación
//Configuramos los PINS C3 Y C4 para controlar la EEPROM
//#ifndef EEPROM_SDA //me parece que el ifndef y endif no hacen falta aca
#define EEPROM_SDA PIN_C4 // pero si estos defines deben estar antes de la libreria external_eeprom.c que usaras
#define EEPROM_SCL PIN_C3 // en una de las librerias esta la directiva #use i2c(...) esa libreria tendrá que estar escrita antes de la otra
//#endif // o quiza no importe el orden solamente hay que estar seguro que el #use i2c este bien definido en una de ellas
//Verificaciones de definiciones de la EEPROM
//#ifndef EXTERNAL_EEPROM_UTILITIES // lo mismo con los ifndef y endif
#define EXTERNAL_EEPROM_UTILITIES
//#endif
//#ifndef EEPROM_ADRESS unsigned int16
#define EEPROM_ADRESS int8
//#endif
#include <24512.c> // Se añade la libreria de la EEPROM 24LC512
#include <external_eeprom.c>// Se añade la libreria para controlar una EPROM externa