A more user-interface style would be to have buttons on the wall with signs above them that say things like "Level 2" or "Second Floor: Storage" and command blocks behind them or activated by a /testforblock command that have /tp commands such as
/tp @p x y z
/tp @a[team=Elevator] x y z
/tp @a[r=2] x y z
I used this system very much when i was building my first command block world called "Megalopolis". It involved players exploring a vast city and trading with villagers to get title deeds, keys and coins. When using this a lot on structures with evenly spaced elevators, copied commands and relative coordinates sped up programming significantly.
Obviously, you could use the detect function used in previous answers, but this is simple and rather more decorative.