To rephrase the requirements: it sounds like you need two 20mA current sources (with 5V compliance voltage), one current source is always enabled and the other current source is controlled by a 200ms One-Shot that accepts a 5V logic trigger. (If I have misinterpreted the spec and you needed it to start with 0mA current before the trigger, rise to 40mA immediately after trigger, and then drop to 20mA after the 200ms delay, then you need both current sources to be controlled by separate One-Shot triggers with different time delays.)
(Update: "If the digital input is off (0v), no output to the coil. IOW, when it returns to 0v, the output to the coil should also turn off. The digital signal isn't a trigger. If on, the coil should be energized at 40ma for the first 200ms, the 20ma until the digital signal goes off.") -- This can be achieved with the same building blocks: two 20mA current sources in parallel, source#2's enable is driven by the same signal as source#1's enable, but with a 200ms one-shot timer function.
You mentioned the need to scale the design to handle 9 coils, that would be 18 identical current sources (either that or use 2 current sources and an analog mux or switch for routing). Depending on what resources you have available, it could be worth making a PCB once you have the first current source design how you want it.
Here is a thread about one possible current source design: Current source design
You can configure a common ICL7555 or NE555 timer as a One-Shot (or use the 556 if you need two One-Shots). An alternative to using the 555 timer would be to use an Arduino; 200ms timing should be pretty easy to achieve with that. I'm assuming that you have an Arduino or some equivalent microcontroller board generating the digital timing signals, so it should not be difficult to use two digital outputs instead of one. First enable source#1 and #2 for 40mA, then wait 200ms, and then disable source#2. If the microcontroller is handling other tasks then an interrupt-driven or timer-driven approach is better than idling with the platform's delay() function.
You can construct each of the current sources as an independent, testable unit (test using a resistor of known value that can handle the 20mA load current without exceeding the compliance voltage limit).