Stacks sounds like the solution you're looking for, at least for some of the use-cases. Read through the Wiki article:
http://wiki.jriver.com/index.php/StacksStacks are a way to make MC treat a set of files as though it is
one file. You can think of it as a way to "hide" alternate-versions of a file "behind" a master version.
* When you stack a set of files, one of them is selected as the
Stack Top. This is, by default, the one you
last clicked on when you made the selection you used originally to create the stack.
* A stack can be viewed
collapsed (shrunk down so that only one "copy" is shown), or
expanded (opened up so that you see each of the members of the stack). A stack behaves differently when you look at it collapsed or expanded.
* Individual stacks remember
their own collapsed or expanded status.
* When a stack is
expanded, the Stack Top is the one with the arrow (pointing down) in the stack icon. The other stack members have the empty gray boxes.
* You can manually set a different stack member file as the Stack Top by expanding the stack, selecting the file in question, and:
Right-click > Stacks > Set as Stack Top.
* When the stack is
collapsed then
only the file on the Stack Top is played (pretty much
ever). If you apply a tag to a collapsed stack, then the tagging changes apply equally to all files in the stack.
* When the stack is
collapsed, the stack will sort and filter based on the field values of the Stack Top (as though the other stack members don't exist). In other words, the set will go in the sorting where it would have gone if it was only the stack top file by itself. And it will show in searches, views, and smartlists if the search permits the values in the Stack Top, but it will
not show in searches restricted to the characteristics of one of the member files.
* If you
expand the stack, then you can still individually play or manage the different versions. So a stack
can have different metadata for different files, you just can't apply a tag to that particular field while the stack is collapsed.
* If you
expand the stack, the files sort and filter as they would individually. This might mean they don't all sort together anymore, if the tags in the files don't all match (at least the ones used for sorting). Likewise, searches (including filters on smartlists or views) will treat each file in the stack individually.