Disculpa lo vi anohe medio dormido.. y vi unicamente la rutina de interrupcion. Creo que el switch era un RB0 y que usabas la INT externa.
La interrupcion no deberia entrar porque obviamente no tenes activo ninguna interrupcion, solo los globales. Pero que sentido tiene activar los globales si no activas ninguna interrupcion?
Tal ves haga cualquier cosa por que tenes el LVP en ON, nunca me gusto el LVP

.
Queres saber cual es el problema? Desactiva el GIE y fijate si continua el problema, sino desactiva el LVP y activa nuevamente el GIE fijate si el problema continua.