What's the Pause 5 in aid of? You want to give the ADC time to settle after you first switch it on (ADCON0 = %10000001 statement)... not AFTER it's taken the result (kinda after the event in my opinion!).
The rest of your code looks good, but that messy 'If...goto' in the middle of your For...Next loop could be replaced with a simple...
While ADCON0.1=1:Wend
Bookmarks