Call your travel agent and they should be able to easily handle a cabin change request for you. Unless you booked it directly with NCL, you will have to make the change with your agent.
Cabo has several excellent restaurants depending on what you want to order. The Shrimp Factory is good, as is the Giggling Marlin. Some of the palapa restaurants on Medano Beach are good (I like the one right next to "the Office"). Las Palmas on Medano Beach used to be one of my favortie restaurants in Cabo, but I understand it isn't the same now.
I really like Zippers located on Costa Azul (a surfing beach) that is located about a mile before San Jose Del Cabo.
You will find plenty of shopping and entertainment in Cabo, as well as great beaches. It is an excellent port.
Hope that helps.