Собственно, так и делал HAL.h:
// Digital inputs
#define PBLEFT _RB0 // Input from the "<" pushbutton, pressed = 0 (pulled up)
#define PBLEFT_p (1 << 0) // "<" pushbutton port pin bit position
...
Setup.c:
// Set up i/o ports
void io_setup(void) {
...
TRISB = CVR_p|VBSENS_p|VSENS_p|ISENS_p|VGPSENS_p|PBLEFT_p|PBRIGHT_p|RECSW_p|RCVDET_p; // Port B inputs
...
А с колхозными дефайнами получается жуть жуткая:
#define PBLEFT_p _TRISB_TRISB0_POSITION
...
и так на каждую ногу...