Generally with LED you let the LED draw up to its maximum current (you actually current limit it) at an appropriate forward voltage and then the intensity is modified by turning it on and off rapidly via PWM - at least that's how I do it.
This depends really. In many applications, a form of constant-current driving might be desired.
If this is the case, usually using a feedback loop with an OTA or opamp can be better. Your DAC can just provide the reference levels.
If you really just desire 3 levels, it might be easier to just give the entire thing a fixed reference voltage and change the shunt resistor (essentially, making your own DAC) by adding parallel resistance. These circuits are generally quite simple.