Como bien dice el datasheet, para leer el estado del puerto se debe usar PORTx y para escribir LATx. Puede que para modificar el puerto sea casi igual usar uno u otro, pero no para la lectura, el valor correcto será el que se encuentre en PORTx.
Por lo que tengo entendido, al escribir usando PORTx, para saber el actual valor del puerto hay que esperar un ciclo, y esto no pasa usando LATx.
mmm.. Las direcciones se encuentran en C:\MCC18\src\traditional\proc, pero ¿porqué definir algo que ya está definido? ¿Y si además se puede acceder a todos sus bit?
Saludos!