We always fly in the day before and usually stay near the Orlando airport. The hotel rates are much better there. 1st trip, I used hotels.com and got a rate of $69 for an Amerisuite w/ breakfast. Second trip we used priceline and got Mariott Renaissance for $32.
As to the 4 hours for boarding, that seems pretty extreme. Basically, you wait in a line (sometimes it's non-existent, sometimes it's a 20-30 minute wait) to turn in your documents, show your ID and get your Key To The World Card. Then you may have to wait to board if they haven't started the boarding process. They usually begin boarding between 12:30 and 1:00. Our experience has been about a 20 minute wait for document check followed by about 30 minutes to board (we got in that line about 12:30 or so) on our first cruise. The second cruise, we walked up to the document check (about 11:30), then waited for them to start boarding. We were on board by 1:00 or so (about 15 minutes after they started boarding).