I always thought the holiday break was the greatest thing about high school season. It gives plenty of time to train without school getting in the way. I'm not sure you can really force kids to stay in town and train, but you can certainly greatly encourage it! And for those who are leaving town make sure you print workouts for them to take. Maybe they will be able to swim wherever they're going. Perhaps give some kind of incentive for anyone who attends every practice over the break.
My other suggestion is to make things fun so the kids want to be there. This doesn't mean make the workouts easy, but add fun things like mock meets, gift exchanges, etc. Workouts can be hard AND fun at the same time. Good luck!