Ich würde an deiner Stelle nicht "output = ADCL | (ADCH<<8 );" schreiben sondern "output = ADCW;"
Damit liest du das gesamte ADC Data Register aus (16Bit).

MfG Hannes