i think if you put 2.5V in your µC VREF- if you have such option , you can get full scale ADC
Or put 5V in your ADC input channel and the output sensor to VREF-, that way you don't have to add any voltage reference to your circuit, and your reading will be fullscale-adc_reading
The OP needs to measure 2.5V to 5V, not 0 to 2.5V. So circuitry will have to be added to offset the 2.5V to shift the 2.5v to 5v down to 0V to 2.5V.
The question is whether one will
add more error (with having to offset) than to accept the 1/2 scale of your ADC. Unless you design the offset and 2x multiplication (or 2.5V reference) carefully, you would introduce far larger error than 1/2 resolution lost.
Say you are using an Arduino UNO (10 bit ADC), each count is 4mV for 5V scale. Double the resolution would mean each count is 2mV. Your x2 or -2.5V shift circuitry will need to be better than 2mV to keep your 2mV accuracy gain. 2mV accuracy circuit is no easy task. Typical 1% components will get you +-25mV for 2.5V. 25mV error is 12X the resolution gain you would get if you are using 10bit ADC. So, to decrease the ADC error from 4mV to 2mV, you added circuitry (1% components) that introduce a 25mV error?!
I suspect you are probably better off using the upper half of the ADC. Think about it and see if what I just describe make sense to you. Perhaps there are other factors I failed to include.
Rick