... No sabía que era necesario definir manualmente la dirección del puerto en la RAM. Hubiera pensado que el compilador hacia eso tras bambalinas.
Asi "deberia" ser, dentro del mismo #include<> con todas las demás declaraciones.
Pero como en algunos PICs la dirección de escritura es distinta que la de lectura, en algunas operaciones el código generado tiene que ser completamente diferente que con una variable standard. En lugar de hacer eso CCS te provee de funciones como output_x(valor) , input_x() etc y deja PORTA,LATA... sin declarar, cosa de "empujarte" a que uses las funciones.
Yo no soy tan estricto como KillerJC pero hay que reconocer que esquivar las funciones de CCS suele dar sorpresas, este hilo es un ejemplo.