Since elevators based on flying machines have two inputs (one for moving up, one for moving down), it's possible to send "up" signal to lower levels and "down" signal to upper levels, there by making the carriage pass the current level.
To stop the elevator at the current level it's possible to use a retracting piston as a way to push the carriage past 12-block limit, making it immovable.
This way it's possible to make the carriage arrive and stop at any level, which covers both summoning it and riding to the destination.
Pros of this design:
+ Any number of floors, with any distances between individual floors.
+ Being able to summon elevator to any floor.
+ Being able to go straight to arbitrary chosen floor.
+ Being able to detect if the carriage is present on the current floor (useful for safety doors, bells and such).
+ Fairly small footprint.
+ Can be extended up or down at any time.
- This design can't have a second "ceiling" carriage, it's incompatible with the work logic.
- Current implementation is a bit slow - it needs to send a redstone signal to the target floor and back before the carriage starts moving.
- Shaft walls aren't 100% solid, some redstone will be visible.
Possible modifications/future plans:
* replace observer-based signal lines with ones pased on retracting pistons to improve reaction time.
* use an item frame/redcoder combo for floor selection.
* rewire the summoning circuit to make sure sending the carriage to the same level it is currently on does nothing.
This design is partially inspired by Mumbo Jumbo's "realistic" elevator, video of which is below.