We stayed at the Marriott Biscayne Bay, which was very nice, and right on the water. It is also connected to a Doubletree and there is a small mall with shops (including a liquor store), and restaurants between the two. The hotel was about a 20-25 minute walk to the Bayside Marketplace, although you reduce that by riding the free Metro Mover part of the way. We took a cab to the port, about a 5-7 minute ride, I think it was 15 bucks with tip.
There is also a Holiday Inn right across the street from the Bayside Marketplace and the entrance to the causeway to the port. A lot of people recommend that but we have not stayed there, so I cannot comment.
There are a lot of hotels out near the MIA airport as well, these would be less expensive and not within walking distance to anything touristy, however for just a night before stay, that might be fine.
A cab is probably the best way to get from any of these hotels to the port. We could not find any place that offered a free shuttle although that was not something that I looked really hard for. The port is so close to downtown and the airport, pretty much anywhere should be less that 20-25 bucks for the cab.
I don't know if you have looked at any hotels in Miami yet, if not, be prepared for sticker shock! They are all pretty expensive compared to Orlando Airport or PC area hotels.