I made an animated crane earlier this year (see cs.trains.com/mrr/f/88/t/294639.aspx for details). I basically did what you described. Three motors sharing one common wire, with their other wires being controlled by a DCC decoder.
I used transistors instead of relays, though, to save space. I think you’d be hard pressed to squeeze relays into a small crane. For the DCC decoder, I made one out of an Arduino Pro Mini.
I don’t know about an off-the-shelf decoder, but if you know a bit about electronics and Arduinos, I can send you the code to turn an Arduino into a DCC decoder if you want to go that route