I use a Matco 9620 OBD-II code reader. It's FANTASTIC!
They are about $400 new ...but are also on ebay for a lot less.
Just remember ...when you clear a CEL ...you ALSO set all the emissions-related 'readiness monitors' to OFF -- and thus, you will FAIL a state inspection because the car will be -- yes u guessed it -- "not ready".
The car needs to go thru' a series of 'drive cycles' before all readiness monitors become 'set'. You run the risk, thus, of a recurring CEL as these readiness monitors are being set during said drive cycles.
G.