Hey CJ, you say he's not been getting home until 9.30? Is this because he's been staying on at work? If so, he'll feel like he's been kicked in the goolies, after giving so much to his job and then to be treated like this.
Sounds like he has lashed out at you because you are the person closest to him. Hey lass, try not to take it too much to heart - I know it will be hard, but I'd say be gentle with him, don't lash out back, that's the worse thing you could do.
You sound like a strong couple, and as long as you are both working together to solve your problems, you will get through it.