Right now, the possibility of overriding a symbol with another quickly relies on the organisation of the symbols. If I want to, for example, allow a component to have two different states the solution is pretty straightforward: Place those two states on the same level inside the symbol organisation.
I’m complex systems with, for examples, different states for different clients, flavours, versions, etc. the organisation criteria might clash with the need of having these states at the same level: I might want to choose to have separated symbol organisation for each different client but that would make that, in order to override a symbol with an specific state of a client, I need to navigate all the symbol tree to find the correct one, as it’s not in the same level of the original one.
For those complex cases, It would be great to have a way of choosing the possible overrides of a symbol. That would mean more work when creating the symbol, as you would need to manually select all the symbols that you want that symbol to be able being override with, but it would offer a nicer and quick solution once that initial work is made.
Of course that wouldn’t remove the current behaviour, which I think should be the default option, but It would be a nice advanced feature that can be used when appropriate.