MacroKeys is an addon that lets you bind macros to your numeric keys in the context of panels that you can bind to any button. Think of it like the buy menu in Counterstrike.
Each panel can have up to ten macros (accessible with keys 1-9, with 0 closing the panel), and you can bind up to ten such panels to your keyboard. You can also create additional panels if you want to have sub-menus. The macros are also clickable with the mouse. You can move the panel by dragging it from it's edge.
You can use the /macrokeys command to go to the configuration window. Using /macrokeys panelname (where 'panelname' is the name of a panel as it appears in the configuration window), it will open that panel. You can use this command inside your macros to create sub-menus.
WARNING: Due to Blizzard's restrictions on what you can and can't do during combat, this add-on will not correctly if you engage in a fight. You cannot open any panels while in combat, and an open panel will remain open throughout the fight, locking your keys. If you are worried of such a possibility, you can enable the “Use shift+number” option in the configuration panel, which does not bind your normal numeric keys.