It sounds like you are very overwhelmed on a number of different issues. Hang in there.
First, with your son spacing off in school: Has he been screened for a learning disability or ADHD? On the flip side, perhaps he is bored at school and not feeling challenged. How does he do on standardized tests--is he way above his grade level? Have you had his IQ checked?
As far as his whining goes, how do the adults in his life act? If they are complaining and whining themselves, that is what he is learning to do. When he whines, tell him that you will listen to him when he can talk in a normal, grown-up voice. If he continues to whine, walk away from him.
The same goes for his temper--you can't expect him to keep his cool if you are losing it, too. (I saw a Nanny 911 episode where the family instituted a "time out rug" that you had to stand on if you lost your temper or were otherwise misbehaving--this went for the parents as well. The mom had anger issues and she put herself in time out a couple of times.) It's not OK for your kids to be abusive to each other or to you. When you can see the storm clouds rolling in, so to speak, have your kids go to their own rooms or in time out to "cool down". You will be teaching them a valuable lesson that they can use the rest of their lives.
You are sick of yelling, so stop yelling and start acting. Tell them that if they don't do "X", "Y" is going to happen. Tell them that once and then act on it. ("Pick up the toys in 10 minutes, or I'm bagging them up and they'll be put away for a week." Then follow through.)
As far as you working out of the home or continuing daycare, that is for you and your husband to decide. It is fine to take the kids' activities and thoughts into consideration, but that is ultimately YOUR decision.