Did some tests, and it seems it could be achieved if Steven is willing to implement special handling for <Artists> tag regarding $Sort & $Group function.
Let me explain how this works.
Say, you have track X tagged with "AAA" for <artist>, "GGG" for <guest artist>, "AAA" for <display artist>.
And track Y is tagged with "AAA" for <artist>, "GGG" for <guest artist>, "AAA; GGG" for <display artist>.
If you filter with Artist, selecting GGG will show X and Y in the main panel.
If you filter with Sort Artist, then selecting GGG shows only Y (So our request is to show X as well here).
Then what's the difference between the two tracks? Both have the same tags, only display artist is different. So if MB reads, for $Sort(<Artists>), <Artists> tag value instead of <display artist> tag value (which is meant for $Sort(Artist)), then the problem will be solved.
As for $Group function, MB treats <display artist> tag value as a string rather than multiple tag values, and I understand it shouldn't output multiple values as this function is widely used for organizing files. Then how about outputting multiple values, for $Group(<Artists>), by grouping first xx letters from each artist, not from the whole display artist string?