That would be through drivers. You can add an Input->Value node to feed into other nodes or add a driver to an editable value on any other node.
A simple way to get random values is edit the value and enter
#noise.random() This will give random values between 0 and 1, you can expand the entry to multiply the value if you want it larger or add a minimum value.
To get more control over the generated value you can create a script and use
bpy.app.driver_namespace["name"] = funcname to provide access to any function you define. The script name must end in .py so that you can register it and auto run python scripts also needs to be enabled.