Y el culpable del fallo es ................ supongo que un bug del CCS.
Probe su programa en el simulador del MPLAB y tendia el mismo problema, no iba a la interrupcion del PORTB,
revise un cacho la hoja de datos del micro en cuestion y dice que tiene bits individuales para habilitar estas interrupciones , estos bits se encuentran en el registro IOCB, mi version del CCS no habilita estos bits al momento de configurar la interrupcion, talvez tiene alguna funcion para hacerlo pero no la conozco, estos bits se puede habilitar de forma manual de todas formas.
Solucion: definir el registro IOCB usando:
#byte IOCB = 0xF7D
luego habilitamos los bits antes del while(1) haciendo
IOCB = 0xF0
adjunto el codigo corregido.
saludos