I'm not sure how this codes out, but here is my basic idea:
1) Use the current road/tram/rail tunnel code and modify it
2) There must be a clean exit on both sides of the tunnel for it to be built, just like with existing tunnels.
3) The tunnel can only have one station in it
4) The station can only be built as an extension to a single above-ground station, and it must be within the maximum number of tiles to that station
5) You can join multiple in-tunnel stations next to each other, but they will all be attached to the first in-tunnel station. You cannot lay multiple in-tunnel stations attached to different above-ground stations.
If this is viable, then this would be a great way to expand the game play. Especially considering passenger air/rail stations, if you had a large airport in a city, you can have trains run under the airport and connect directly to the airport. Or you could build smaller bus/tram stations above ground, and then have an in-tunnel station underneath connect to it, with the tunnel under an entire city without disturbing the existing above-ground infrastructure.
The three problems that I do see are:
1) To be realistic, tunnels would have to be a max of 1 level below a station. No idea how that works out for 2+ levels below
2) Once you have a tunnel established in one direction, you cannot have another tunnel cross it, unless you enable the option to have underground tunnels cross
3) Very long tunnels are going to be expensive. As they should be.
