Can't answer about the nighttime sleeping--I doubt he has been teething or had an ear infection for this long! A couple thoughts, though...
>Don't ever rock him to sleep, stay in his bed with him until he is asleep, or let him fall asleep in your arms then sneak him into his bed. If all else is ruled out by pediatrician, and you are consistent about putting him back to sleep on his own at night, he should learn to get himself to sleep within a week.
>Can dad take night duty on the weekends so at least you get to sleep the occasional night through, and he understands what you're dealing with?
>If your schedule allows it, I would try to shift that big nap to later in the day, so that he wakes about the time your other kids get home from school.
Tantrums around 2 are normal.
>Try not to ask him yes or no questions, and try to give him the feeling of control by offering him limited choices: "Do you want your high chair by the counter or by the window?" "Do you want to wear the red shirt or the blue shirt?"
>When he does start to lose control, make sure he knows you understand what's making him mad. Say, "I know you don't want to lie down right now, but I have to change your stinky diaper." "I know you want something. Use words to tell me what it is." (Or have him point, then you give him the word to say back to you)
And when it comes time to change a diaper, you might have to lie him on the ground and throw a leg over his torso so he can's squirm away. He'll soon figure out you're not messing around and quit being so squirmy.