Constructed list building instructions are evaluated sequentially, so you just need to be a little more specific with your list building. Assuming you had a parent list called List1 that had 10 A items, 10 B items and QC1 and QC2 (total of 22 items), you could do something like this in a constructed list:
If you now want QC1 and QC2 to be in the middle, use the Insert function:
INSERT (TargetPosition#, ListName, StartMember#, EndMember#)
You can insert QC1 and QC2 to whichever spot you want in the list.
If you wanted it to be random but somewhere in the middle, replace an explicit value for TargetPosition# with a random number function:
RandNum(Seed, Min#, Max#)
and set the min and max to be somewhere in the middle of the list, i.e. min 6 max 12.