The Custom Data module allows you to define custom data formats in the Editor to be attached to particles. You can also set this in a script. See documentation on Particle System vertex streams for more information on how to set custom data from a script and feed that data into your shaders.
Data can be in the form of a Vector, with up to 4 MinMaxCurve components, or a Color, which is an HDR-enabled MinMaxGradient. Use this data to drive custom logic in your scripts and Shaders.