dsPIC33E ADC with external voltage reference
With external 2.5V ADC reference, when I connect 1.1V to AN0, it reads
  1.223V (501*(2.5/1024)) in SW. But the actual voltage connected is 1.1V. This is error I am trying to troubleshoot.


ADCs are not perfect and you should probably take a few more measurements. Here are where the errors can arise: -


Basic measurement error i.e. DVM not quite perfect
Reference voltage not 2.5 volts but maybe a bit lower
ADC Zero error - can be in the realm of 1% and is sometimes specified in LSBs
ADC Gain error - full scale can be "out" by +/- 1% on a lot of ADCs and this happens even though the reference accuracy may be perfect.
Integral non-linearity error - divergence from the perfect straight line that represents gain. This can be several LSBs in magnitude
Differential non-linearity - this is the factor that dictates how imperfect the step accuracy is. Think of it like a staircase where the height/depth of each step has a random factor involved.


If you add all these up, you might approach a total error of maybe 5% and 5% in a full-scale of 2.5 volts, is 0.125 volts of potential error and can turn a real input voltage of 1.1 volts to 1.225 volts as perceived digitally.