where to begin. First you need to make port a an input. Second there are two AD registers 1 and 2. Third I would put the register setup before your main program. you only need to do it once. Try this.

DEFINE ADC_BITS 8 ' set number of bits in result
DEFINE ADC_CLOCK 3 ' set clock source
DEFINE ADC_SAMPLEUS 50 ' set sampling time for microseconds
ADCON0 = %10000000 'I think this formats the result
ADCON1 = %00000000 'I think this defines if ports are A or D. The first 0 may need to be a 1
trisa = %11111111 'Port A is input
AD_AN3 VAR PORTA.4
AD_AN3_VALUE VAR byte

pause 500 'LCD's need to initialise before sending data
LCDOUT $FE, 1 ' Clear LCD screen

A_D_AN3:
PAUSEUS 50 ' wait 50 microsec
ADCIN 3, AD_AN3_VALUE ' read channel 3 to AD_AN3_VALUE
LCDOUT $FE, 1 ' Clear LCD screen
LCDOUT "A to D Value"
LCDOUT $FE, $C0, #AD_AN3_VALUE
PAUSe 100
BUTTON FUNCTION_BUTTON, 1, 255, 0, C2, 1, ON_TIME_FUNC
GOTO A_D_AN3

If it still doesn't work its all about setting the bits in ADCON0 and 1 correctly. See the datasheet