First, do they have physical synthesis on? (Assignments -> Settings -> Fitter/Physical Synthesis). This can significantly impact compile times, although it gives better results. If they do, try lowering the effort, or turning some of the options off. Note that the fitter gives very useful messages for these algorithms, something like Register Retiming took 40m and improved timing by 30ps. If you see something that takes a long time and gives little gain, turn it off(the gains are approximation since it hasn't routed yet).
My guess is that this isn't on. Note that 5 hours, especially if you're not on the fastest machine, is not that bad for this device. Yes, it can be faster, but it's not off by orders of magnitude(and we have very good compile times compared to other FPGA vendors of this size). But I understand 5 hours can be long, regardless if this is good or not.
The fitter should be set to Auto Fit, which will have it run until you meet timing and the design is considered routable, and then quit, rather than wasting timing trying to outperform your requirements. (Do you meet timing?). A simple way to reduce compile time is to do a Fast Fit. This can halve the fit time, with a performance reduction of only ~10% or so. If you're testing on a board and there's anyway this will work(slow down your clock rate, put a faster device on the board, etc.) it can be well worth it. Also note that in the lab you don't have to close timing. If your off by a small % of your slack, realize that you're not dealing with the worst case PVT and that the design should still work.
Incremental Compilation can be extremely helpful, but usually requires some floorplanning(LogicLock Regions up front). Why? The basic premise of IC is that it preserves the partitions you don't change. The problem is that if you don't floorplan, your placement tends to have areas of overlap(where two different partitions converge, they are fit into a the holes of the other region, like two different colored marbles thrown in a box. Now, if you lock one set down and try to fit the other set within the "holes", the fit problem becomes much more difficult and performance can get worse. Since you're only 70% full, you may not encounter this, but it's worth reading the handbook section of Incremental Compilation and LogicLock Regions to get a better grasp of this.
Also note that under Tools -> Advisors there is a Compilation Time Advisor. You're going to find some of these suggestions go directly against the Performance Suggestions, which makes sense(you usually trade compile time for better performance), so if you're meeting performance is an important variable in all of this.