programing and wiring 2 Multiplexer / demultiplexer with arduino

With an 8x8 keypad, you can connect that up directly to an arduino (which has 20 digital inputs).
Then use the keypad library to read them.
http://www.arduino.cc/playground/Code/Keypad
You will expand this section of code

// all this stuff goes before void setup()
#include <Keypad.h>         // Matrix Keypad library 

const byte rows = 4; //four rows << 8 rows
const byte cols = 3; //three columns << 8 columns
char keys[rows][cols] = {
  {'1','2','3'},  // call these what you'd like: A1 thru A8, B1 thru B8, etc
  {'4','5','6'},
  {'7','8','9'},
  {'#','0','*'}
};
byte rowPins[rows] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad  << assign your 8 pins here
byte colPins[cols] = {8, 7, 6}; //connect to the column pinouts of the keypad  << assign the other 8 pins here
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, rows, cols );

then write your code that will read it in void loop:

void loop(){
    // go read the keypad
  char key = keypad.getKey();                 // reading the keypad
  if(key)                                     // same as if(key != NO_KEY)- did something change?
  {
 // a key was pressed, do something
switch (key){
case "A1":
// button A1 code
break;
case "A1":
// button A2 code
break;
//etc
case "H8":
//button H8 code
break:
}  // end switch
} // end if (key)

// do other stuff while waiting for  a key press
} // end void loop