Dave I'm with you in this "problem." The answer you received from rossfree is correct. The data lines need to start at 0 or 4 on one of the three ports. RS and E can go anywhere.

I too have a project using the USART, analog inputs, external interrupt, and much of port B. I ended up using PortB.4-7 for the datalines, PortB.3 for E, and PortC for RS. When I laid out the PCB this kept everything on one layer w/o overlap (vias). BTW I'm also using CCP1 to control contrast via PWM.

Hope this helps.