I think the engine would benefit greatly from having this feature added. What do I mean by aliases?
Well, whenever you are picking multiple instances of the same object (the most common example would be collisions), you should be able to name each one with an alias, which you can then use to distinguish them throughout sub-events.
For example, the event sheet would say something like
Bullet as Bullet1 on collision with Bullet as Bullet2
And then in sub-events you could refer to each bullet by its alias instead of having to use "System -> pick nth instance" and using local variables.
This could also mean that you could simply pick different instances of the same object in an event... Let's say for simplicity that I have a RankedPlayer Sprite object in my project which has several instances, with a 'rank' number instance variable which varies throughout the runtime, and on certain situations I wish to pick the player with the top rank and the player with the bottom rank and make them fight or whatever by moving both sprites to a certain location. Without aliases, if I were to put both those conditions on an event, the event would pick an empty set because no RankedPlayer has both the top and bottom rank. The way around it would be to use two events, picking both instances separately and moving them, which is not a big deal. But what if the location was determined by an instance variable on the bottom ranked player? Then it would be much more of a hassle, because once again I would have to resort to "System -> pick nth instance" and local variables. A simple way around it would be to have Aliases force the engine to pick different instances, making it possible to have
RankedPlayer as BottomRanked rank = bottom_rank
RankedPlayer as TopRanked rank = top_rank
And then have all the logic in the subevents.
I really believe it would be a welcome and very useful feature.
I hope my explanation was clear enough