How to have 256 bit input for micro-controllers like Arduino?
You've got the right idea with a diode array.  I would recommend building a 16x16 matrix with the switches in series with 256 diodes + a pair of 16 bit I2C or SPI port expanders.  Or you could use a pair each of 74165 and 74594 shift registers instead of the port expanders.  Solder the diodes directly to the switches when you wire up the matrix, don't stick them on a bread board.  You'll also need 16 pull-up or pull-down resistors.    

Alternatively, you could daisy-chain 32 74165 shift registers and connect each switch to its own pin.  You'll also need 256 pull-up or pull-down resistors.