These are my thoughts exactly. Part of the long delay between rounds is that the TD has to wait for all the scores to come in, verify each, and then create groups/cards for the second round based on first round scores.
I would love to see 5 hour tournaments. Is it possible to skip the regrouping process and just play both rounds with the same group? Do PDGA rules prevent this or is it up to the TD?
Up to the TD generally. I've played tournaments where we played 36 consecutive holes at a time (but counted as two rounds of 18). Of course, it was as a part of a 1 day, 6 round, 108 hole event so doing it 36 hole chunks was to save about ~2-2.5 hours of total regrouping time. Nothing really stopping the TD from calling a one-day, 36 hole event a "one round" event to avoid the re-sorting process.
But most players prefer to be resorted if only to be put into groups with their direct peers. Players want to know if the 30 footer on the 18th hole absolutely must be made to win or not, that sort of thing.
To me, a well organized and planned event shouldn't have long lunch breaks. Ideally, either the course is set up or the first round groupings are arranged to minimize the 4-5 group backup scenarios. TDs should know the course they're using and know where the usual backups happen and take steps to alleviate it. It could be as simple as having a spotter on a hole or setting up a short tee for divisions that might struggle with the regular tee. Shrugging off a known and bad backup hole as a "what can you do" situation is just lazy TDing, IMO.
Basically, there really shouldn't be much reason for there to be more than about 30 minutes between the time the first group is in and the last is in. Tack on 30 minutes to eat for the last group and lunch shouldn't have to last more than 60 minutes for anyone (less for the slower groups). Obviously, unforeseen circumstances can have an effect, but the resulting extended lunch break should be the exception rather than the rule.
And if the problem with the lunch break is that the course is remote and lunch options aren't close enough for people to go out and come back within an hour, bring lunch in. Just contact a local sandwich/pizza shop and ask them to send someone out in the morning to collect orders. People can buy what they want and it's all delivered to the course at the designated time so no one has to go anywhere. Believe me, if you can promise them upwards of 40-50-60+ orders at 9am on a Saturday or Sunday morning, they'll come out and take care of your event.