With mame's remapping, you can have "hidden" mouse buttons.
Example: A standard layout with 8-way - 6 buttons - TB - 8-way - 6 buttons layout. Since mame doesn't care if the input is keyboard, joystick, or mouse (as long as it's mapped accordingly), but there's other games that need a mouse + buttons, others that only use the keyboard, and some that only one player can use the keyboard and the other must use a joystick/gamepad (EA sports): Player 1 keyboard stick + 4 keyboard buttons + 2 mouse buttons, Player 2 gamepad stick + 4 paamepad buttons + 2 mouse buttons as follows:
Left player buttons:
kbZ kbX kbC
kbA mb1 mb2
Right player buttons:
j1b1 j1b2 j1b3
mb3 mb4 j1b4
With this setup, you can pay mouse only, keyboard only (1 player 4 buttons), or joystick only (1 p 4 b) games. You can run normal windows mouse apps. You can play 2 player games that limit the keyboard to one player. You can play 4 button trackball games. In mame, you can play 2 player 6 button games (if enabled mouse & joystick, and remapped). You have available mouse buttons without "dedicated" buttons cluttering the panel.
The problems with this setup: You have to remap mame from it's defaults (once). You might have to remap other games. The mouse buttons are the four closest buttons to the TB, but are still hidden; people might have trouble finding and using them for mouse only apps. Newbies to the CP might have trouble setting up new games or remapping from what you mapped.
Note that I do not have any CPs set up like this, as I prefer seperate CPs or modular CPs, but this was how I was going to go when I was still thinking of a franken-panel (years ago now). I'm pretty sure I've seen a CP somewhat like this here, too.