No need to book a shopping trip on St. Thomas. There will be plenty of taxis at the port to take you into the main shopping area and also plenty of taxis to return you to the ship when you are done shopping.
As for a beach, I have heard good reports of the beach to the east of the Marriott hotel. I have never been there but was planning on trying it the next time we stop in St. Thomas. I understand the Marriott is a short taxi ride to the east of the port and that the public beach is to the east of the hotel. You are then suppose to be able to catch a taxi at the Marriott to return to the port. Hope this information is helpful.