Question:
Is reverse-tree tagging possible in Calibre, as a custom field or even as a plug-in, or does it require a complete overhaul of the database logic?
Explanation:
At the moment, subtagging is a top-down tree. Each child tag has one parent tag, which can have a single parent tag, but a parent tag can have multiple child tags. This meets its limitations however, when a subtag can fit in two different parent.
For example, when tagging cookbooks:

In this example, the parent tag is Great Britain, which has three children. England, Scotland, and British Cuisine.
England and Scotland both have a child tag for their national cuisines. British Cuisine is the collective of both cuisines, but adding English Cuisine as a child creates a separate tag, British.English, versus England.English.
Reverse tree tagging, bottom-up, does the reverse:

English Cuisine and Scottish Cuisine are the main tag, and both have two parents: England or Scotland, and British Cuisine. All three of those tags have a parent tag, which is the tag Great Britain.
Not just useful for cookbooks, it could also be used for subgenres that blend two genres.
Two examples: Starship Troopers and The Forever War are frequently classified under Military Science Fiction subgenre, and The Dancers at the End of Time is frequently classified under the Dying Earth subgenre. This is how those would look:

Note I separated them for readability's sake, but obviously Science Fiction would be the same tag; opening the Science Fiction tag would show both MilSciFi and Dying Earth as child tags. I forgot to link SciFi to SciFantasy, imagine the line's there.
Of course, you (and I know I would) could also use it for gorefests like
this...