I have found a way of assigning random colors for the crowd agents.
1. Create a shader for your agents, called variation.
2. Create an attribute either on the points from which your agents are generated or on the crowd_sim_import node, which is the node that reads back the simulated agents.
3. Create a stylesheet override, so that your agents pick up the variation shader.
4. In the variation shader, create an Inline Code node.
The inline code node creates the link between the packed primitive and the shader. The renderer looks-up the attribute and passes the attribute value into a new variable inside the shader. You can then use that variable to alter the look of the shader. In my case I just used a rand node to apply a random colour and piped that straight into the shader output without any lighting.