Detect light amount on surface?
Blender shaders or objetcs does not have this kind of output to use in drivers.

You can use the Inverse square law.

$$
I \propto \frac{1}{d^{2}}
$$

Where $I$ is the intensity and $d$ is the distance. (Intensity is proportional to inverse of distance squared)

You can use this in your driver multiplied with the lamp or emission-shader intensity.

To account for surface normal (how it is rotated towards light) you would have to script a pydriver and access the mesh data inside: How to create a PyDriver in blender 2.7

Or use a dummy plane tangent to surface that will not render and get the direction and distance into the driver from there.

If you would like to account for mirrors or indirect lighting in general then forget it;)