An additional problem I found with PIC output ports is crosstalk between port pins, on the order of a few millivolts. So an adjacent pin switching could show up in an A/D reading. Now I know everyone will tell me to bypass and filter my power supply. I did that. I haven't seen a spec from Microchip an pin-to-pin crosstalk, cuz they prabably never planned on ports being used in an analog fashion.