PIC18F4520 ADC Conversion in MC18
You are not setting the clock signal of the ADC to 32MHz. The parameter ADC_FOSC_32 divides the clock by 32 (see page 225 of the datasheet). This ensures, together with the aquisition time select bits (ADC_4_TAD in your case), the minimum (/maximum) A/D aquisiton time (see page 359). When you hurt these requirements you will not get valid/accurate results.

With the equations given on page 228 you can do the math and verify, that the requirements are met.

Some other points:


In your code you are never starting the ADC conversion by calling ConvertADC.
You are configurating port a as output by setting TRISA = 0x0; but you want it to be configured as input (as your comment is saying). TRISA = 0xFF; would configure all pins on port a as input.



To expand a bit on the aquisiton time (\$T_{AD}\$): This time is needed for the internal circuitry to probably charge. When this time is too short, you will get no/bad results.

For 32Mhz (without divisor) \$T_{AD}\$ would be 31ns. That is too fast. At least 0.7us are required for the ADC to work probably. So you select a proper divisor to get \$T_{AD}\$ above 0.7us. A divisor of 32 will do it here, \$T_{AD} = 1\$us > 0.7us.