Great timing as this exact problem has just consumed about 5 hours and I seem to hit a similar brick wall with every new PIC.

18F27J53 ~ outputs OK, inputs always read 0.
I know what the problem is, just can't fix it. Is there something else besides ADCON that needs setting?

Datasheet: ADON: A/D On bit 1 = A/D Converter module is enabled 0 = A/D Converter module is disabled
Tried ADCON0 = $0F, ADCON0 = %00000000 and all the individual bits such as ADCON0.0 = 0.

Instead of a rant at Microchip, this should be a programming project or feature request for the IDE.
Heck, if I knew how to set ADCON, I'd program it myself...