Hm - DirectRT definitely offers a lot of different options to accomplish the task you need. The first items you may want to look into include the RBG (randomize between groups) and RWG (randomize within groups) features. For more information see the following links:
RWG - http://www.empirisoft.com/directrt/h...amples_rwg.htm
RBG - http://www.empirisoft.com/directrt/h...amples_rbg.htm
RBG & RWG - http://www.empirisoft.com/directrt/h...es_rbg_rwg.htm
You may also want to look into using stimlists. Through stimlists you can choose to present a variety of stimuli in a specified order (the order follows throughout the entire experiment), present the stimuli in a 'true randomization', or present the stimuli in a randomization sequence that only presents each stimuli once. For more information, see the following link:
http://www.empirisoft.com/directrt/h..._stimlists.htm