M.J.
It's been a year or two since we were there, but if my memory is correct, there weren't any hotels near the downtown area with the restaurants and shops. You'll most likely have to drive over to the downtown. The Ritz Carlton is supposed to be the nicest place to stay, but it was out of our budget.
We stayed at the Cypress Inn on Miramar Beach and loved it. Our room overlooked the ocean. Friendly staff, great breakfast. The reviews on TripAdvisor can help you narrow down which room you want (apparently the ones in the main building aren't as nice as the ones we had in the second building). The decor was getting a bit dated, but it was still clean and the view was wonderful. There's also a nice restaurant in walking distance along the beach.
Had a celebrity sighting while there, as a bonus. The actor John C. Reilly was there with his family eating breakfast when we were. He tried to keep his back to most people, but we both were positive it was him.