Hola oswaldof
Simulandolo no parece haber errores, pero si dices que tienes problemas con bloqueo con el pic, puede ser la parte del hardware:
Te Puedo Recomendar lo Siguiente:
1.-Usa optocopladores y no reles.
2.-Aterriza las patas del pic que no estas usando hacia tierra.
3.-Revisa bien la parte de tu fuente de poder del PIC(coloca un capacitor de 100nF entre vcc y tierra).
4.- No veo en tus palabras de configuracion NOBROWNOUT.
5.- Haz Definiciones de tus Pines: Como BTN_ABRIR PIN_A0, REL_ABRIR PIN_B0, etc. asi será mas entendible tu codigo.
6.- Puedes Usar un Case Para los Estados de la Puerta: Case ... ABIERTO, Case CERRADO.
7.- Por Ultimo si no te Responden los Botones Puedes Usar Interrupciones del Puerto B o INT0.
Espero te Ayude