You could try the Instance ID operator...that assigns a gbuffer value to particles which Arnold may be able to interpret (not sure if the Arnold devs implemented that, but it should work in VRay, for example).
An alternative way would be to create a Gradient Ramp texmap, set interpolation mode to solid and then evenly space your 10 colors apart in the gradient. Then in tyFlow, use a Mapping operator to assign a mapping override to particles. Set the override value to 1 and variation to 100%. Since that will assign a random X-coordinate (between 0-1) to your particle's UVW channel, they will effectively choose one of your 10 colors in the gradient ramp you apply to them at random.
An alternative way would be to create a Gradient Ramp texmap, set interpolation mode to solid and then evenly space your 10 colors apart in the gradient. Then in tyFlow, use a Mapping operator to assign a mapping override to particles. Set the override value to 1 and variation to 100%. Since that will assign a random X-coordinate (between 0-1) to your particle's UVW channel, they will effectively choose one of your 10 colors in the gradient ramp you apply to them at random.