Hi,
I've seen 4-16 decoders, but not 'encoders'. However, I assume all you're trying to do is have 16 'switches' and encode them to binary, for your micro. The 'port change interupt' should work fine for this.
Try a 4x4 keypad encoder. Theres a few IC's out there that will do this automatically, scan the keypad and output the appropriate binary value for any key pressed. It will only display the first key pressed, and most of these chips have a 'data ready' line, which goes hi when a new button is pressed. Debouncing is also done.
Of course, doing this in software, in your micro won't be a hassle. It will use an entire port (8 pins) but thats only 4 extra pins, but I supose, with the 627, I/O's are at a premium.
I don't know where you are, and how easy it is to get IC's, but heres a few links that should help you.
http://www.farnell.com/datasheets/9817.pdf
http://www.google.co.uk/search?hl=en&q=16-key+encoder&btnG=Google+Search&meta=
**broken link removed**
http://www.imaginetools.com/documentation/docs/manuals/MicroStarterKit/appcalcu.htm
Unfortunately, probably because of microcontrollers, and CPLD's, IC's specifically for scanning small keypads are now quite rare. And the above was the only IC I could find, but it seems to being widely available, if not a little expensive. It might even be cheaper to buy a cheap PIC micro and use that as a 'slave' keyboard scanner. The program is very simple, just scan the keyboard for changes, and I've seen some PIC's with few peripherals being sold in small quantaties very cheaply. Probably about $1.
Also, there are alternatives to conventional 'scanning'. Try here:
http://www.discovercircuits.com/K/keypad.htm
**broken link removed**
**broken link removed**
**broken link removed**
**broken link removed**
So, if you can't find the MM74C922, then try these other techniques. It really depends on cost, availability of parts, and 'hassle'.
Good Luck, hope this helps.
BuriedCode.