Making an electronic chess board
Yes, multiplexing as you describe is a common way to address arrays of things.

The trickiest part will be dealing with the analog nature of the light sensors.  CdS LDRs (light-dependent resistors) are probably the best in this case because they are sensitive, cheap, and produce a large easily-measurable response over the human lightness range.  Electrically, they are resistors, with the resistance decreasing in brighter light.

It would simplify the multiplexing if you use a micro that has 8 analog inputs.  That means half your mux is built into the micro.  You enable a row of LDR, and read the 8 column signals directly with the micro, for example.

Scanning 64 analog inputs sequentially can easily be done instantaneously in human terms with ordinary micros.  Let's say you can take a new reading every 100 &micro;s.  That's "long", even for small and cheap micros.  That means the whole board would be scanned every 6.4 ms, which is way faster than you can perceive a delay.

Multiplexing the LEDs is even easier since that is all done with digital outputs.  Plenty of micros have well more than 16 digital outputs, so this is no problem.  There is other stuff that will have to happen, and you'll use up pins faster than you may expect now, but a 64 pin micro should really be good enough, if not a 44 pin one.

I'd probably dedicate one micro just to handling the board I/O.  This is optimized for having enough I/O pins, A/D inputs, and the like.  It then interfaces to the main computation engine via UART.  The protocol would look like "light up square 3,2" or "piece removed from square 5,4".  This also allows a totally different hardware interface in the future as long as you keep the protocol the same.