Empty controlled light grid
If you want each light to be a single color, and respond to the distance between itself and an Empty, one option is to create your lights as a particle system.


In this example, the particle system is static (there is no
physics, all the particles are emitted on frame 1).
Here, the particles are randomly scattered, but you could arrange them geometrically, per face of the emitter
Set up an input to your shader for the dupli object used to render the particles, (the Combine XYZ,) driven by the location of your empty. ( This means assigning drivers to its X,Y and Z entries)
Add a Particle Info node, using its 'Location' field, and a group of nodes to return the distance between particles and the empty.




Here, the distance is used as an input to a Color Ramp node

This is the scene, with an empty:



This is the result: