You bascially need to divide your bus into an address side and a data side. Since you're using a micro controller you should be doing an 8 bit data bus and an 8 bit address bus, that gives you a limit of 256 8 bit devices. You can do more but it requires extra twiddling with the address bus, such as feeding the address bus 8 bits, triggering a strobe feeding in the next 8 bits and then the data on the data bus becomes valid. It's basically an external memory interface and can be implemented with various latches and registers and the right micro controller, either manually, or by a native external memory interface.