Adjustable 0-5A voltage controlled current source
You say you want to have 1mA resolution.  I take this to include settability as well as controlling ripple (e.g. from PWM) to less than 1mA.
For controlling a set point, there are numerous implementations to consider: single turn pots (with vernier upon vernier), multi-turn pots, digital thumbwheels or rotary switches, toggle switches with a ladder network, etc.  I think you were favoring a micro controller with a D/A converter.  Any of these options could be used to implement a 5000 interval setpoint.
As far as ripple current, depending on your application you may not want it to span a whole 1mA interval. I was able to achieve ripple of less than 1ma in simulation using as little as 500mH smoothing inductor, by using another 500mH downstream of the current monitor as an output filter.  It is self-clocked at about 7kHz using an error integrator followed by a comparator with hysteresis.  (Don't try to clock it with an external clock or the output will be erratic.)  With the filter inductor ripple was ~500ua; without it ripple was ~2.7ma, but increasing the smoothing inductor to 800uH was enough to be able to eliminate the filter inductor.  These are kind of BIG inductors, but not unreasonable.  The switching frequency can also be increased, limited by the speed of your components (MOSFET, gate driver, comparators, op amps, etc.), and thermal considerations.