dimming an LED by pwm, which is the method i would recomend for your application can be hard, a low brightness level tends to need a high clock speed not to flicker, as such a pic18 makes an excellent controller chip, thou expensive ($3) however a slower pic can be used with a large (1k) resistor or so for the "dim" values.