Another simple way would be to use a digital potentiometer instead of a resistor in the voltage regulator's feedback.
There's plenty of regulators that can be controlled through i2c protocol, just search google for "i2c controlled switching regulator". Linear, Micrel, Semtech are just a few that have them.
To get such wide range of output voltages you'd probably be looking at SEPIC configuration (buck and boost) not just buck regulator, and that makes it a bit more complicated.