Saludos @banistelrroy.
He leído brevemente lo hasta aquí expuesto. Pienso que la mejor idea (y la más simple de implementar), hasta el momento es la aportada por @AleSergi; usar los contactos auxiliares de los contactores. Usa para ello el siguiente circuito,
sin olvidar activar las resistencias pull-up del PIC (solo el pueto B las tiene):
Otra situación que te puede estar dando problemas es la fuente. La de teléfono celular que dices usar debe ser de tipo conmutado, con filtrado deficiente. Yo, cuando instalo circuitos con PIC dentro de tableros eléctricos siempre uso fuente con transformador (salida 9V o 12V), rectificador, filtro capacitivo y regulador 7805 (con sus capacitores de desacoplo según DataSheet) y nunca he tenido problemas.
Sin embargo, sigues con la idea de usar el circuito con opto-acoplador que mostraste, debo decirte que tiene cosas que se pueden simplificar y otras que se pueden mejorar mejorar, como ya otras personas te lo han comentado.
Olvidé decirte: cuando escribas el código, la cuenta deberás hacerla cuando se presente cero lógico en los pines involucrados. No olvides incluir un anti-rebote,
cuando se cierre y
cuando se abra el contacto.
Edito:
Disculpa @banistelrroy, no había notado que quieres ingresar las señales por el puerto A (supongo que en el B tendrás el LCD). En tal caso el circuito que debes implementar es el siguiente: