Got this from Sivan:
The sensor ports on the NXT support a serial digital protocol called I2C, which was developed by Philips in the 1980's. I have built a prototype that shows how to interface to the NXT a simple I2C chip that provides 8 digital I/O ports.
Each one of these eight ports can be used as either input or output (and in some restricted ways also as both). These inputs and outputs are binary: they are either on or off. Input ports can be used for touch sensor (switches), for example. Output ports can drive LEDs, and through relays or other devices they can turn motors on or off. In my setup, two ports are used to drive LEDs, two other ports are used as inputs, connected to push switches, and four ports remain unused.
It turned out that connecting your NXT to this this interface chip is as easy as electronics experimentation goes, and programming your NXT to communicate with this chip is also easy.
Connecting your NXT to any home-made gizmo (like the one described here) can damage it. Beware.