Hi Robert,
I would say that both your requests of a "Swap Axis" button or a "Lock Cells" button should be possible. ... as long you can execute this via VBA it should work.
For "Swap Axis" you can use this (example from Help document):
Dim lResult As Long
lResult= Application.Run("SAPMoveDimension", "DS_1", "0COUNTRY", "NACH", "0CALMONTH" )
Might be a bit tricky to identify the dimensions in the rows and columns first, but once you have that it should work to swap them via VBA.
The "Lock Cells" could also work... I would try to record a macro first while executing the locking manually... afterwards just edit the macro.
Here is some more detail about Ribbon customization:
Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
Best regards,
Martin