The way Layer Groups work is a good example of the behaviour that could be expected. The group itself contains no data, but is only an organization element.
To reiterate what I said in another thread (which Sybren Stuvel hearted), vertex groups, shape keys, attributes, etc all need better organization instead of dumping them into a flat list. Especially since vertex groups and shape keys are just going to become attributes at some point anyway.
IMO, this is a UI issue that should be solved with better widgets which can handle all the pertinent use cases, whereas hardcoding this specifically for shape keys in a UIList would just be pushing the real problem off to a later date while ignoring other, equally-valid pain points. Such as the massive amount of vertex groups required for rigging, or the need to mix vertex groups for very different uses (such as rigging, masking, modifier influence, etc) into an unordered jumble.
Personally I’d rather see a file system-like widget where things can be put into nested folders instead of a treelike widget where I have to keep collapsing, expanding, and scrolling through a massive list to find my data, though I’d still prefer that over the current implementation of a flat list with barebones sorting and filtering and no nesting whatsoever.
The ability to batch select shapekeys in order to adjust them or move them at the same time.
That was also mentioned by the animation team in the thread I linked, which reinforces that this should be a comprehensive UI-level change instead of a shape key-only thing.
Personally, my characters are often set up in one blend file, and then linked in other blend files where I pose them in different environments with other characters. However, I can’t create shape keys on linked characters that are needed for a particular pose or to simulate deformation from collisions. Is there a plan to make it possible to create shape keys on linked characters/objects for a particular scene?
That’s literally why Geonode Shape Keys exists. Though I do think it’d be nice if that feature was migrated to the core program and turned into vector attributes, it works well enough to shot-sculpt.