I know how you feel, when my daughter was that age, I had the same problems. What worked with her is giving her choices so that she felt like she was in control.
Example:
If he asks for a drink, you say
Would you like the green cup or the blue one?
Would you like a lid or a straw?
Would you like milk or juice?
Would you like to drink it in the kitchen or at the table?
The goal is to give him as many choices as possible, 2 at a time where either one is fine with you. If he refuses to choose, you choose for him and stick with it. It won't take him long to realize that he wants to choose so that you don't for him. This worked wonders with my daughter, she is 16 now and has grown to a wonderful young lady.
This method works with discipline too...
If he does something that you don't approve of, you say...
That behaviour is not acceptable in our house, would you rather have 5 minutes of time out on your bed or at the dining room table? If he refused to choose, you just keep asking the same question except add 5 minutes each time you have to ask. Eventually he will realize that the longer he doesn't choose, the longer he is going to have to stay in time out. The hard part is sticking to it at first, but if you do, he will learn quickly and may try to negotiate, however, don't allow it.
Good Luck!! If you would like to discuss more, please email me at ____@____.com