These things are actually quite simple to build, quite an interesting project to.

basically theres usually 7 pins coming out of a 3 x 3 pad, each row has a line and so does each column, theres also a gnd (ground/ negative) line to cause a circuit when the button is pressed,

so in total you would need 6 i/o (input/output) lines to take the output of the pad and then another line line from what every your using to control the lock,

you can go into some quite elaborate digital logic designs or you can do this with a PIC microchip, (PM me about these ive got a good source for getting these cheap), then create a simple program in basic, ASM or C and download it to the chip, this is the way I would go. You can othen get cheap development boards from microcontroller companys that you may find useful (again PM me and i can advise)

another way to do it is to use the parrallel port of an old 486, some simple C programming or even python and you could implement a system quite quickly. I have code examples for a robot that ive build you may find useful.

in all fairness anything which is programmable you could probably use, (gameboy, cybiko or C64)

As for the locking part, I built one out of a few bolts, a piece of studded bar, geared motor from a toy car and a piece of sheet aluminum.

becuase the majority of microcontrollers are not capable of providing a high enough current to drive a motor, youd need to put in a relay or maybe a motordriver (have very cheap source again), I have better code examples that I can supply you with on request.

Ive been thinking about doing a tutorial on controlling stuff from a computer, such as robots and things like this, just woundering how everyone things it would go down??

PM if you need anything, HTH

i2c