No space constraints. DB about 50gb free, and the log about 40gb. I monitor the log size every ten minutes and there was no issue. No issue on tempdb either. Indexes are dropped and recreated again at the end of the SP.
Breaking it up can be good, but to go from 3min to 7hrs, and yet remain the same size implies it's not really an issue. Especially as it works every other night okay.
In fact I ran the same SP into another table to check. Took c3 minutes as normal.
One thing I've discovered later is another SQL box on the same Disc spindles seemed to have massive as yet unexplained RAM issues at a similar time. Nothing was flagged on the original box, but it's a coincidence. I've got people looking, but could just be a coincidence.