Hola diego,
lcall y lgoto son MACROS, no instrucciones. Es decir que no son instrucciones nativas del microcontrolador, por lo que están conformadas por una o más instrucciones. En este caso precisamente te simplifican la escritura del código, pero el problema surge cuando las querés usar en tablas, ya que como tapi te dijo, ocupan en realidad más instrucciones entonces producen problemas con el salto. Hay opciones para generar el salto de la tabla teniendo en cuenta esto. Por ejemplo, si todas las subrutinas LEDXX están ubicadas en la página 1 de la FLASH (a partir de la dirección 0x800), podrías hacer en la tabla:
VISUA PAGESEL LED0
addwf PC,F
call LED0
call LED1
...
si mal no recuerdo, tendrías que tener cuidado luego, de volver los bits del PCLATH<4:3> a 0 antes de ejecutar un call o goto que se ubique en otra página de la ROM distinta a la 1. Por ejemplo, sin son pocas las apariciones del CALL VISUA, podrías hacer:
...
CALL VISUA
PAGESEL $ ;setear PCLATH<4:3> a los valores de la página actual (página 0?)
Además, es importante que lo simules al código para asegurarte que los saltos se producen correctamente. El MPLAB SIM es una muy buena herramienta para hacerlo.