This is a good idea, FARL also did something like this.
I figured out how to make a module that makes any locomotive a shuttle, but it only partially works.
When you're in the locomotive, it works fine.
However, the Call Shuttle button is apparently coded to specifically look for entities with name = "shuttleTrain" which means it only works with the included locomotive (gives a "no unused shuttle" error if none are present).
I can't figure out how to add other locomotives to the variable if they have the module (as I'm no coder), so maybe the author could chime in?