I live in the area, so here's what I know:
1. There is a Days Inn just a short distance down the boardwalk. Plus its a pretty walk, looking at the ocean.
2. If you can save money, I'd go with Ft. Laudedale. It's about 45 minutes down A1A to Miami Beach. A better drive, IMHO, than from the Miami airport to the beach. Plus a smaller airport, easier to get around.
3. Miami is about 3 miles inland over the causeway from Miami Beach. Easy drive.
4. Maybe. Parking is tight in Miami Beach, or expensive if you valet. I'd go with a walkable budget hotel nearby, especially with the boardwalk available.