GLSL Python equivalent of ObColor to achieve fade effect for realtime particles

Hi, does anyone know a way to have objects fade out at different times, more specifically after a certain amount of time after they have been emitted. I know that you could if you were just using Blender materials, that you could enable ObColor and then animate the alpha values along with the RGB, which is how i have previously done the fade effect for my ingame particles. I can achieve that for a material quite easily with GLSL code but if i then link that object to an addObject actuator or script, when they are emitted all the particles fade out at the same time.

Is there anyway to apply the shader to the object rather than the material (so for example being able to use the getShader() function from an object or mesh rather than a material that is applied to many objects) which is what the ObColor button does so u can animated the material for different objects.