I don't see a way around using multiple que files here because you can't use multiple levels of BGR within a single questionnaire file. But on the plus side, it ought to only be 20 not 40.
You could place all six items for a group within a single que file. You assign the abc items a BGR value of 1 and the def items a BGR value of 2. On the c and f items, you use a skipto value jumping them to an end item in that questionnaire (e.g., a simple blank instruction item with a (d1) parameter). That takes care of which three they see from the six. Then you just randomize the order of those 20 .que files in the experiment (.exp) file.