Thanks to you both!
Given that there's nothing cleaner than a for loop, I think I'll go the opposite direction. The basic app is that there are workpieces of varying lengths entering a conveyor. Each piece will be processed at various stations as the conveyor passes them, which stations for a given part determined by a recipe.
When a workpiece comes in, the recipe comes with it, so I know that stations 1-12, 15, 19, etc., are used for this part. I also know that Station 1 is X encoder counts from the entry point, and my current encoder count is Y, so Station 1 should activate at Y + X counts, so this means bit 1 in the drum should be set for some number of drum steps (encoder counts) beginning at Y + X (possibly +/- station-dependent constant Z if the station in question needs to lead or lag the leading edge of the part).
But...I don't yet know how long the part is till my photo at the entrance point tells me it sees the end of the workpiece. So if there were some way of setting bit 1 for N steps beginning at Y + X + Z all in one instruction, I'd wait till I saw the end of the part and do it all in one shot, but if I'm limited to a for loop anyway, I think it will be cleaner to just go with the flow and set one bit at a time every time I receive an encoder count till I see the end of the part. Same number of iterations and less logic.