If you are using MAME, you can program two buttons to do three actions.
So I have a "Player 1" and a "Player 2" button, each one does what you would expect (starting 1 or 2 player games), but pressing them together sends an "ESC" command and exits MAME.
Following the same thought, I use "Player 1 - button 1" and "Player 1 Start" held down to equal "Player 1 Coin".
They are so far apart and generally have no reason to be pressed at the same time so I am not losing any functionally, and I save on panel space.
Use can use the GUI in MAME to set the keys (maybe not the "NOT" part), or put this in your default.cfg
            <port type="START1">
                <newseq type="standard">
                    KEYCODE_1 NOT KEYCODE_LCONTROL
                </newseq>
            </port>
            <port type="COIN1">
                <newseq type="standard">
                    KEYCODE_5  OR KEYCODE_LCONTROL KEYCODE_1 
                </newseq>
            </port> 
            <port type="P1_BUTTON1">
                <newseq type="standard">
                    KEYCODE_LCONTROL 
                </newseq>
            </port> 
I'm posting this away from my computer, and posting this from memory, but that's the jist.