I would have BrandList which defined the 100 brand names. I would then create a constructed list called BrandConList which looks something like this ...
ADD(BrandList,1,100)
Randomize()
ListMax(40)
*Note - not sure if the brands are coming off another question? Otherwise adjust the constructed list accordingly using an AIC command.
Create a new parent list called Q1BrandList which would have 40 brands defined as follows ...
1 ListLabel(BrandConList,1)
2 ListLabel(BrandConList,2)
3 ListLabel(BrandConList,3)
...
...
39 ListLabel(BrandConList,39)
40 ListLabel(BrandConList,40)
Assuming there will always be 40 brands in the list, you can use the Q1BrandList to display at Q1. The constructed list BrandConList (1st 40 variables from this list stores the 40 brands). The beauty of this is you are using less Sawtooth questions (40 instead of 100). You can also save each brand into it's own free format hidden question if you desire. That way the export is down to 40 fields rather than 100 which is the case when exporting the constructed list BrandConList.
So this method should tell you what brands are 1st, 2nd, 3rd, ... 39th, 40th, etc.