El teclado lo pones en el puerto b, de esta forma lo podras detectar mediante interrupciones, en el puerto c, en las patillas RX y TX conectar el max 232, en la red hay 1000 esquemas sobre como se conecta el max232. La eeprom y el rtc se controlan por bus I2c, por lo tanto se conecta el SDA a RC4 y el SCL a RC3 y ahora solo te queda el lcd que es donde vendran los problemas. O te haces una rutina para controlar el LCD des de los puertos que te quedan libres o sino habra que ver como se coecta con la libreria que usas. Programas en asm??, en C?? que compilador usas??
Yo lo haria con un 16f877, tendndras el puerto b para las interrupciones del teclado, el d para el lcd, el C para el I2c y el RS-232 y ahun te sobraran patillas del puerto c y el puerto A para que puedas controlar lo que te haga falta.
Salu2