Thanks for your response!
I'm pretty sure I'm misunderstanding what it is exactly that you're trying to accomplish with your syntax (over the original) so if you could provide an example that'd be great.
The one exception to this (in your case) would be the ability to use pseudo classes, which would be a definite plus!
Except that selectors don't typically reside in property values. I think the additional clarity afforded to me by an Id here would be beneficial.
I haven't touched UA code either, but I'm not asking you to take my word for it. Just run some perf tests in your own browser using dev tools. I imagine the scoping of your functional syntax would help mitigate some of the issues, but you should be able to see get a general idea of how the selectors perform.
To add to that, I feel like I worded my initial response poorly so let me try to better explain my point. I'm not trying to say that only Id's will perform adequately. I'm just suggesting that the open-ended nature of your syntax invites performance considerations. By restricting the selectors to just Id's, we know that it'll work, because we have viable examples using the same syntax in existing browsers.
I guess my big question for you is: Why would I want all the extra stuff in your syntax, when at the end of the day all I'm trying to target is one element? Id's only return one element and that's what I want.. why make it more complicated?