Sorry OP, I've only actually read your posts, and not what responses you have received, but one thing that sticks out to me, is what you said about when you were a child, walking on eggshells, in order not to upset your Father. This has obviously stuck with you, and yet you're now subjecting your own kids to this. Why wait until January to leave, it's hardly as if you're likely to have a 'Happy Christmas', is it? I know it takes time, and courage to end a relationship like this, but trust me, you are doing your boys no favours whatsoever by staying. Why do you keep focusing on them having to spend 50% of the time with your 'H', when you leave, why not focus on how great it will be to have your boys 50% of the time with no stress, no walking on eggshells, no seeing them hide under the table because daddy's shouting and scaring them?
In reality, what will happen if you stand up to this pig? Will he hit you? Is that why you've never really stood up to him? When did he start to treat you like this, has it always been this way, and possibly you've put up with it because you watched your own DM put up with the same? Women's lives CAN be different these days! My own DM put up with the same sort of behaviour, but the reason was, that there was no support for a married woman who left her husband in those days, but things ARE different now OP! There is support out there for you! You're already in a far better situation than your Mum probably was when you were growing up, in that you're the one with the bigger income. So STOP putting up with this SHIT!! It's time to put a stop to it once and for all, and get your boys away from this waste of space pig of a man.
Other posters are right too, in as much as he's a lazy bastard, and once you've gone, and the novelty of having the boys 50% of the time, just to piss you off, wears off, and he realises that it's actually hard work to parent on your own, you'll soon find him coming up with excuses as to why he can't have them this week, etc.
JUST DO IT OP!!