M.,
First breathe, This is a stage but a crucial one at that.
When our DD was 2 she did the same thing, I will tell you I learned a few things as I have 14 yrs between my children. The oldest is now an adult and DD is almost 6. He would say it so much, I felt like you do... now fast forward with DD I created a word other than NO to mean NO. Crazy I know but I still use it today.. we also learned sign language and that helped too...
One thing you can do is when he says NO, ask him what is it he doesn't want to do? OR you can give him choices say this or that, or use the word PLEASE a lot, Another thing we started at this very age is that when Mommy or Daddy calls you lets just use the name JANE, "Jane, will you please come here?" She should say to me "Yes, Mommy coming" This will later eliminate the need for yelling for the tenth time by then you are angry and ready to ground them for life..
This has worked in our home and it also shows respect and first time obedience. :)
Not everything is going to work for your child but there is something that will, that is the hard part finding out what will work.
As always, do what is best for YOU and YOUR family.