Firstly you shouldnt be punishing him for peeing on the floor, he wont associate him peeing there with not getting food, all you will do is make him food agressive or a food guarder and keeping him away from the other dogs wont work wither as you are finding out. If he has just started doing it then i think a trip to the vet is in order as he may have an infection or some other health problem. Personally i dont think any dog how ever old it is should be made to hold it for 9 hours, i think this could cause damage........i certainly wouldnt want to hold it for that long!
Is he actually going to the toilet at night before bed.....do you see him do it? If all is well with his health and he hasnt had any stress/upset in his life recently i would go back to basic puppy toilet training taking him out every few hours and praising him when he goes and ignore the accidents.