Vakjorsan, sería bueno que colocaras el código que llevas al momento para enviar el mensaje al lcd a 4bits dejando libre los pines RB4:RB7.
En cuanto a lo de los conmutadores... deberás colocarlos en algunos de esos pines, RB4 y RB7.
No tengo mucho tiempo ahora, así que te voy a dar orientación para que tú mismo trates de buscar la información: en la datasheet del pic, encontrarás una sección que dice "características especiales del cpu" (claro, escrito en inglés)... entonces busca allí las interrupciones. Busca la interrupción por cambio en Portb. Allí te explica los pasos que debes seguir para activar esta interrupción.
Anda mirándote eso y cuando tenga un tiempo te ayudo un poco más. Si mal no recuerdo tú no estás usando ninguna otra interrupción, así que lo que tienes que hacer es colocar al inicio del programa:
ORG 0x00
goto inicio
ORG 0x04
goto interrupccion
donde interrupción es una subrutina en la que harás lo siguiente:
1- Deshabilitas las interrupciones globales (aclaras bit GIE)
2- Aclaras la bandera de interrupción (creo que el bit se llama RBIF, busca en la datasheet del pic).
3- Lees el puerto B (así ves cuál conmutador fue activado).
4- De acuerdo al conmutador que haya sido activado llamas a la subrutina para enviar el mensaje correspondiente.
5- Vuelves a habilitar las interrupciones (set a bit GIE).
Bueno como te dije esto es muy a groso modo pero allí tienes una guía para que vayas trabajando...
Luego trataré de ayudarte mejor.
Nos leemos!