Wow - that's intense. I guess my first question would be what situations are bringing things to this point. What is he defying? And what other avenues of protest are you willing to allow? Are there specific needs of his that could be otherwise addressed to help reduce his dedication to annoying the heck out of you? Like maybe addressing his need for attention? Let's face it, he certainly has your attention now.
Parent cannot control children, as your son is creatively showing you. What parents can do is enlist cooperation. I think you are going to have some relationship rebuilding work to do. I would suggest your first action be to back off the intensity of your demands, and not engage your son's defiance for awhile. Let things cool down. Then start building some emotional skills. What CAN your son do when he is mad? Is he allowed to go into his room and yell about it for two minutes? Is he allowed to punch or kick pillows? Whatever it is, make sure it is physical in expression, and put this in place BEFORE he is mad about something. Then, when he gets mad, direct him to do the stuff he is allowed to do, and (and this is key), TOTALLY support him for doing the right thing. That is, get right down there with him and kick pillows together. Have fun with him when he is mad, and really show him that mad is OK, and there are ways to express it that are OK. Give him attention when he is mad, but do everything you can to offer attention for something he is doing RIGHT, not something he is doing WRONG. It will take some time to get there, but you will get there, and it will work.
I am sure this is not the quick and easy solution that you might want to hear. However, your son is really mad with you about something, and this is his way of showing it. If you keep pushing him to do what you want, without allowing him to communicate his anger, I think you will see more and more problems. Be the good parent you are, and admit that you have made some mistakes. Show your son that you can be responsible even when you blow it. Apologize, teach him a different way, and then support and applaud his efforts. You will put in more effort now, but you will both reap HUGE benefits by solving this problem now.
Hang in there!!!