How to customize a material without duplicating it?
There are not that many options how to input unique data of each object into a shader node tree.

There are vertex colors, hacking UV coordinates as numerical input, and outputs of Object Info node. There is also an option of scripting a custom Cycles node.

Because you need float in range &lt;0, 1>, using the Object Index seems feasible. It's an integer with max value of 32767, which scaled into 0-1 range gives you 1/32767 of precision (0.00003), which is not bad. This is how you'd use it inside your material:



This is the property to animate for each object:



Just multiply your value with 32767 and round it.