then… optimize, in all my years I have only had to use more than 4 values once.
there are a lot of additional things you can use.
if: gpu particles > particle random (outputs a random 0 to 1 value to each gpu sprite)
regularly:
Particle relative time > outputs a 0 - 1 value over the life of the particles.
you can also use the particle color module and use it as an additional Dynamic parameter.
then there is particle direction, speed, position, radius, and size.
not to mention you could also use IF nodes along the dynamic parameter.
IF dyn. parameter = 0 then do X, IF dyn. parameter = 1 then do Y, IF dyn parameter = 2 then do Z.
etc.