Man kann die Auflösung eines ADCs nicht verändern, das stimmt.
Man kann allerdings mit dem shift-right befehl des AVR-Prozessors (bzw. mit dem Shift-Befehl von Bascom) die Auflösung beliebig verkleinern.
Allerdings kann man das auch über ein Vergleichen des Werts erledigen (falls ADC-Wert > x dann Bit=1, andernfalls Bit=0)
Gute ADCs bis hinauf zu zig Megasamples/sec gibts bei www.ti.com für lau (als Sample); man muss sich allerdings anmelden.
Vref gibt übrigens die Spannung and, bei der der ADC den maximalen Wert ausgibt (Ue sei Eingangsspannung, Uref Referenzspannung, n die Auflösung des ADC in Bit, X der vom ADC zurückgegebene Digitalwert: X = (Ue durch Uref) mal (2 hoch n))

Außerdem kann man den ADC eines AVRs 'übertakten', wobei die effektive Auflösung (das ist die Anzahl der Bits, die keinen Fehler durch Rauschen und Ungenauigkeit enthält) zurück. Man kann bei etwas höherem Takt locker 10.000 Samples pro Sekunde rausholen. Allerdings ist dann die Auflösung nicht mehr 10bit, sondern man davon bvielleicht noch 6 bis 8 Bit gebrauchen, der Rest ist dann Rauschen. Der höhere Takt kann allerdings den Strombedarf des ADC etwas in die Höhe treiben

Das mit dem höheren Takt habe ich übrigens schon ein paar mal angewendet (mit Erfolg)

(Alle Angaben ohne Garantie und Gewähr)