most of our games are in pubs/clubs, with set licencing hours, including poker, on the (very) rare occasion that I have had to call time on a game, I give them fair warning that there will be the last 3 hands in 5 mins, etc, then play last 3 hands, then allocate the positions based on finishing chips. I've only ever had that happen twice from memory, in around 3 years of games, mostly because the structure I use is quite fast (15 minute clock with antes), and ensures that it allows plenty of play then not a lot of play late on.
With regard to a deal and splitting the pot, in your description I would just again base it on chip counts when they deal, but the way you do it sounds fine also!
Regards
Stuart