Um welche Programmiersprache geht's denn? Wenn Du (von) C sprichst, definierst du eine int-Variable, die hat 16 Bit also zwei Bytes, und liest nicht ADCL und ADCR getrennt aus, sondern ADC als zwei Byte Wert.

Wenn ADLAR=0 ist, solltest Du zuerst mit 5 multiplizieren, bevor Du durch 1024 teilst, dann verlierst du keine signifikanten Bits.