Amigo deberias ordenar un poco el programa, las rutinas de tiempo e interrupcion ponerlas fuera del programa principal, para que sea legible por otros y por ti.
Debes poner al principio la configuracion:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
Esta es la que le he puesto yo, si lo haces con el MPLAB pon lo que el te da en este caso esto:
__CONFIG 3FF1
Las interrupciones creo que las tienes todas mal????? tienes habilitada la de TIMER0 pero para entrada externa por el pin RA4 pero es que RA4 esta como salida a un LED, que me gustaria ver ese LED lo bien que funciona porque RA4 es colector abierto y no da tension.
Ademas la de TIMER la tienes con preescaler de 256, tendrias que darle 128 pulsos a RA4 para que saltara, si este estuviera como entrada claro.
Todo esto de las interrupciones te viene en el datasheet en los registros OPTIONS E INTCON en la seccion memory organization por el principio, estudialo un poco, o hazlo sin interrupcion, creo que te resultaria mas facil.