I was looking into this today, possibly createing a "Vehicle Replacement Manager" mod. I don't know if this is possible, from what i can tell by reading the documentation and other people's mods -- the api isn't opened up to adding new in-game windows, nor can i see a way to script modify the replacement definitions.
However, here's how i would like to see this designed (above answers are good, but logistically, i think this is a better setup):
I would utilize a "class system" for vehicles on a line. Then set a replacement definition per that class.
An example:
You have 4 lines:
1 - Passenger Bus Lake City
2 - Passenger Tram Lake City
3 - Passenger Bus Augusta
4 - Passenger Tram Augusta
When creating the lines, i would set the following Classes:
1 - Passenger Bus Lake City - Class Bus 1
2 - Passenger Tram Lake City - Class Tram 1
3 - Passenger Bus Augusta - Class Bus 2
4 - Passenger Tram Augusta - Class Tram 1
For some reason i want to keep bus line in Augusta a different vehicle than Lake City, maybe i don't like Augusta, maybe there are too many vehicles with not enough revenue to justify a more advanced vehicle level -- either way, i have that distinction.
Then define the classes:
Class Bus 1 - Stage Coach
Class Bus 2 - Horse Carriage
Class Tram 1 - Horse Trolley Car
This way, groups (or folders -- YstlDystl) of lines would be defined by a line Class. Vehicle definitions can then be inherited from that class.
This should be really easy to program, even script with a button to make the changes, because all of the elements exist in the game (replace now, auto replace by time) just the inheritance and definition pieces need to be added.
If anyone has a reference for the api that explains these pieces, i would gladly take a stab at 1. learning lua, and 2. building this.