omg you do it all much too complicated!
use an easy bmap, which reprensent the level and if you want a tunnel paint the accoring texel, just as heelx said before.
As far as I heard it here, I guess you want to make a kind of 2.5D game?
The way I would think of how to make the map 3D is to use a kind of parallax shader. (OR you could use maybe 20 or more sprites that use that bmap and put it on top of each other, but that would still give you some small seams between it).

To realize it in 2D is pretty easy, but there is no common method I can think of that could accomplish that without some strange behavior in some case.