Fijate que en el PIC16F876 hay muchos perifericos que no estan por defecto apagados, que interfieren con el funcionamiento de los puertos como entradas-salidas digitales.
Presta atencion a los comparadores y al conversor analogico a digital, especialmente a este ultimo que es bastante diferente al resto con respecto a configuracion.
Preguntas:
-Tenes las resistencias anti-colision en tu teclado? (si es q lo compartes al bus con el LCD)
-Realizas pull up/pull down externo o utilizabas el del PIC, si es asi lo debes agregar.
Saludos y suerte.