Note: I updated this to give you more constructive feedback for the situations you mention.
This is a normal developmental phase and does end and really doesn't need to be addressed with timeouts or spankings. Timeouts might be appropriate if the NO leads to bad behavior - but it's the behavior that needs to be addressed and not the saying NO. And, I don't think even if he understood, the "we don't argue" is going to get your anywhere at all. If you don't think kids will argue with you, your life will be a nightmare when your son is a teen - their primary activity at that age is arguing with you. This is all part of developing their sense of self and detaching their self from mama -it's a very gradual process, with these peaks at 2-3 and then 13-16.
Asserting what will happen is appropriate when the No is in response to a command or directive - it is appropriate to tell him that you're not asking a YEs or no question you are telling him to do something. So, there really is no consistent response as it entirely depends upon the situation - if he's climbing up the outside of the stair case then you need to absolutely demand he not do that and then timeout or withholding privileges is appropriate.
And, just to give you some suggestions for your specific examples - for the first situation, it would be very helpful to give him a 5 minute warning (and longer ones as time goes by) about when it will be time to come in. You might also explain why he needs to come in at that time - it's time for dinner, you've got something in the oven and it might be burning, you need to start fixing dinner (and ask if he wants to help - he can put silverware on the table, for example, you need to make a phone call, you need to go somewhere etc. He will understand most of these and it really is respectful to tell him about something that does impact him and if it's because you need to do something and he won't have your attention while you're doing it, tell him what he can do when he comes inside. For your second one, tell him that if you have to pick up the toys, then they're Mommy's toys - put them away and only give them back if he picks up toys the next time. Also, doing the activity with him would be most helpful - so saying "Help mommy put up the toys" might be more effective. Also, this is one situation where you will have to accept that kids really don't care if their toys are all over and you might consider a different place for toys if they are in an area of the home that you want to keep neater. My older son is a slob - he could care less that you cannot see his floor in his room. I will sometimes tell him that I will step on whatever I need or that he needs to at least clear a path so I can get to his bed to wake him up in the morning. AGain, you are just at the beginning of the very long path of helping your child mature - I have learned that we parents often have to adapt our expectations and our own behaviors to get the best results. Our kids are people to and do have opinions, desires, expectations, etc.
And, this is just the beginning of you learning to pick your battles, taking deep breaths and just getting through the situation as best you can and conserve your energy (that's where picking your battles comes in) as you're going to really need it 10 years down the road. Also, redirecting bad behavior is what I found to be the most appropriate. Very active boys must be kept busy at all times or you will have problems - my 13 year old is in constant motion - he needs lots of stuff around him so he can keep busy - like crafts, legos, lots of balls, etc.