Eh, I'm trying to simplify things where I can, because it's already overly complex. So I'm using purely arbitrary groups of "BG1 NPCs" to classify NPCs who originally appeared in BG1 and "BG2 NPCs" for vanilla SoA/ToB NPCs. Some get both GROUPs (Imoen, Jaheira, etc.). So if someone's added BG1 NPCs to your BG2 game, it makes sense IMO to query for them. Another group is for "Mod NPCs" (original ones who don't normally exist in either game, e.g. Gavin) and yet another one for "Megamod NPCs" (in case you don't feel like getting asked about every Sue and Stu on your BWP/TDD/SOS install). I don't think it's a good idea to add the likes of Ajantis and Xan to "Mod NPCs" because then you'll get queried for that group on Tutu or BGT regardless of whether you've got the mod NPCs installed, unless maybe I use some language like what you've specified, but again, my goal is to streamline things.
Not sure I understand ASKING_FOR_GROUP (or is it ASKING_ABOUT_GROUP?). It returns true only if using command-line switches or reinstalling, so does it therefore not do so during a normal interactive install? Are you suggesting it as a replacement for GROUP for something like this then or what?
Edit: I'm guessing the GROUPing for "Mod NPCs" will need the predicate of the big long laundry list of mod NPCs too, unless this can be changed to look at the predicate for every occurrence of the GROUP.