Depende el compilador. Yo lo unico que te puedo proveer es sobre XC8.
En el cual para el PORTB, tenes el TRISB ( configurarlos como entrada o salida )
Tenes que deshabilitar el LVP ( programacion de bajo voltaje ) en lso fuses para hacer uso de RB5 a Rb7
Tenes que ponerlo como digital modificando el registro ADCON1 para el RB4.
Y deshabilitado el comparador ( aunque creo que con el TRISB es suficiente )
El PORTD es mas simple, con solo tener que modificar el TRISD