So that you'd have to type a different set of numbers to open the door?
First of all you'd need BIG buttons so that the player doesn't press the wrong ones by misstake.
I dont know if there is a smarter way with source but for the olde CS i think i did this once using a huge number of trigger_relays.
What i did was that i set it up so that all the buttons had a trigger_relay of their own. All relays were set to trigger all the other relays to their "off position" or how to say. All but the one used by the first button that was going to be pressed. That one was set up so that when the button was pressed it would switch the relay of the second one. When the second one was pressed that would switch the third one etc etc.
If an incorrect button was pressed then the the relay would be in the "wrong position" and then reset all the others, forcing the player to start all over again.
Its bit hard for me to explain this properly, I lack the right vocabulary :S..
Also, I left any correctly pressed buttons pressed as long as the player was doing it right. Whenever they screwed up the buttons came back out and a sound was played in order to make the player notice his misstake.
You could also try to do something cool and bind the keys on the extended keyboard to function as the buttons on the keypad. Like you control the thrusters in GMod although not really...