When the port.pin is used inline in the command the compiler automagically sorts out which actual ADC channel to use. It's only when a symbol is used to specify the channel number of the READADC does the issue arise.
For example, for the 20X2 the ADC channel for pin B.0 ( leg 18 ) is ADC1, so these two are the same ...
ReadAdc 1, b0
Symbol POT_ADC = 1
ReadAdc POT_ADC, b0
The compiler also converts "ReadAdc B.0" to "ReadAdc 1" but this will not happen for the following case -
Symbol POT_ADC = B.0
ReadAdc POT_ADC, b0
The "B.0" has a pin numbering value of "0" so this ends up as "ReadAdc 0" not the "ReadAdc 1" desired. There is no ADC0 so the compiler generates an error.