Yup, this was possible before, as Roman pointed out -- indeed, the keybinding parser uses XMonad.Actions.Submap under the hood -- but now it's super-easy. In fact, after switching all my keybindings over, I went and changed a bunch of them into submaps -- I have a lot of keybindings, so it's a lot nicer with submaps (easier to remember, too), but I hadn't bothered before since it would have been more of a pain to change.
For anyone else reading who'd like to try this out, I just uploaded
my current xmonad.hs to the wiki which you can use as an example. Looks like
oxymor00n has done the same.
-Brent