From what I remember, Mac OS X can have multiple key mappings for different keyboards. It supports up to 128 separate input devices. Out of the box it only really recognizes Apple keyboards, and assumes everything else is a normal standard.
The only thing is that you have to probably get down and dirty with config files if you want to have things different on a per keyboard basis, as I am not sure of any GUI tools that do it out of the box. They more or less assume you to have one keyboard (or just be using one), despite these days of laptops and wireless keyboards.
It is kinda frustrating that pretty much all of the OS's don't really provide an easy solution for. I use Linux and a Windows at work, and when docked use only a external keyboard, and there really isn't even options to support differences for that.
On my mac and hackintosh, I use Keyremap4Macbook. It works well, but applies things across the board at least by default (I haven't dug into the XML settings to see if it can do things per keyboard.