Hi, bedofstars,
First of all, congratulations on your wedding! You couldn't ask for a better place to spend your honeymoon!
You're right that it will be a long day, because there are so many places that you'll want to stop that it'll definitely take you longer than 5 hours and 10 minutes!
However, since you're booked in Edinburgh, your plan to leave Portree early is good. I'm assuming that you're taking the Skye Bridge as opposed to the Armadale-Mallaig ferry. The A87 actually ends at Invergarry, where you'll join the A82. Once you reach North Ballachulish, stay on the A82 through Glencoe, and on to Crainlarich. From there, you can follow the A82 down the west bank of Loch Lomond, through Dumbarton, then cross the Eskine Bridge, and follow the M8 in to Edinburgh.
Your other option, after you reach Crainlarich, is to head east on the A85. This would be your more scenic option. You could either take the first major left turn on the A827 for Killin and Aberfeldy, or stay on the A85 through Creiff and on to the A9 at Perth, where you can pick up the M90 for Edinburgh. If you take the A827, it runs along the north bank of Loch Tay, and drops you out on the A9 just south of Pitlochry. Those options give you more places to stop for lunch.
Another option would be to stay on the A85 to Lochearnhead, then take the A84 south to Callander (good place to stop for lunch), and then on to the M9 at Stirling. At Doune, you could possibly take a side trip on the A820 to Dunblane, and visit the cathedral. You could get on the A9 there.
Lots of choices. Since you're going to be on your honeymoon, please don't eat at any of the Little Chef restaurants that you may find along major roads! Of all the towns I've mentioned, Crieff, Crainlarich, Aberfeldy, and Killin would be the most likely stops for lunch, and if you end up taking the A827 through Aberfeldy, then turning south on the A9, Dunkeld would also be quite nice.
Once again, congratulations! As Portree to Edinburgh will be your lone long drive, take your time, and enjoy!
Mike (auchterless)