Hi, I have no particular opinion for the patch proposed but wanted to share with you some reflections I had on the subject to use one org file to tangle to multiple setup.
I use abundantly virtual machines and my emacs configurations have many bits that I don't want everywhere, be it a mail setup, a rss setup, or extra languages setup ... etc. It is not exactly the same usage, I do not tangle different versions in one pass, I tangle a version at a time, and take care of installing it in the right place later. Naively I started to use the header's tags to tangle blocks. I thought because there was already in place a query syntax for the tags it may been interesting to use that. You can see attached a proto of a tangle function that accept tags specification and that will only tangle the blocks of the headings matching this specification; and some utilities that I use with it.
tag-tangler.el
Description: tag-tangler.el
However I must say that solution is quite simplistic. It effectively allow me to filter dynamically what I tangle from my files, but I cannot rely on it to specify elegantly, eg, complex dependencies between packages. At some point I wished to use org-properties to abstract some logics from Elisp to org, and then forget about I always have something else to tweak ... --