MOST babies go through a stage of hating diaper changes. Unless you have the rare child who is uncomfortable in wet diapers, then he has no incentive to have a diaper change. Your son is old enough to want to be more in charge of his body and his time. He doesn't want an adult to swoop in and pick him up and disrobe him when he's busy with something.
As far as middle of the night diapers go, there's no reason for them unless he has diaper rash. If you use cloth diapers and you're worried he'll be soaked and cold, you might want to opt for disposables at night only.
Here's a bakers dozen list of idea to try, most of which will work sometimes, or for awhile.
1. Give him some respect and control. Always ask "Ready for a diaper change?" If he says no, say, "Your diaper is wet. Do you want to change it now or in three minutes? 3 minutes? Ok, let's shake on it!"
2. Depersonalize it. Set the alarm for three minutes. Tell him, "When the alarm rings, it is three minutes and time for your diaper change, ok?" When the alarm rings, say "Oh, listen, there's the alarm, it's been three minutes -- Time for that diaper change!" Then help him transition using one of the other ideas on this list.
3. Help him transition by taking an object he's involved with and carrying it with you. For instance, "Let's drive the truck to the changing table!"
4. Don't make him move. If you can, use a portable changing pad and change him where he is playing, so there is less interruption to whatever's he's working on.
5. Don't interrupt his play. Why not change his diapers standing up, if they're just wet? Since he may not be fully stable yet, pick a toy he likes and put it on the couch, and stand him against the couch.
6. Invite him to a party. Most kids can't resist a party. Grab the drum, have a conga line, sing and dance your way to the bedroom: "Gonna change that diaper right off of your tush!" or "Happiness is a clean diaper" or whatever song gets him moving.
7. Let him do the walking. Many kids object to being carried, but if you're making it into a party and he's dancing along into his room next to you in celebration, he's fine with it.
8. Ease into it by first diapering his doll or teddy. Let him help. Shower admiration on Teddy for how quickly he does his diaper change. Then say, "Your turn! Are you quick too?"
9. Ask for his help. Team up with your son to get the job done. Tell him what you are doing at each step and ask for his help, for instance, "I'm going to wipe you off now -- do you want to hold the wipes?" Empathize: "Does that feel cold on your bottom?" Ask him to put his feet flat and lift up his bottom so you can slide the diaper under him, if he doesn't want to, say "Ok, I'm going to lift your bottom now to put the diaper under you." You say he wants to play with whatever diapering accessory you've brought ot the changing table. Why not let him? Sometimes all kids need is a little respect and involvement.
10. Make it something to look forward to. Have a basket of toys that he only has access to while you're changing his diaper.
You might even go hog-wild and find very small presents that you actually wrap in newspaper, and put in the basket. Every diaper change, he chooses one. You should be able to get him changed before he gets the wrapping off! What kinds of presents? Stuff you have around the house, or would have bought him anyway: Plastic measuring spoons or a funnel, small board books, little figures, a block with a letter A on it, a roll of masking tape, a broken cell phone, a plastic cup, Chapstick, colorful trinkets from Ikea, clay or playdoh with a plastic garlic press so he can make "noodles," duplos, a puppet, a tiny flashlight, little wind-up toys, stickers, an unbreakable mirror, you get the idea. You can even re-wrap things that he's left lying around and has forgotten about.
11. Shift his attention. Turn on a cd that has an interesting story on it while you change him.
12. Provide live entertainment. Before you start the diaper change, start the show. Ham it up. Be totally goofy. Sing, dance, kiss his belly, blow down his neck, make as many silly faces and noises as you can. Somewhere in there, get the diaper changed as unobtrusively as possible. If he giggles and turns over while you're changing him, incorporate that game into your act. As long as he's giggling, who cares how long the diaper change takes?
13. Let him decorate. Keep a stash of stickers by the changing table. Every diaper change, let him choose one that he is allowed to put on the wall next to the table.
You'll probably find that an idea works for a week, and then you need another idea. That's ok. This is a phase, and it will pass. I suggest printing this list and adding to it as you come up with more great ideas.
One more thought. You're obviously an empathic and understanding mom. It's ok to set limits when you need to, if you do it with respect and understanding. You're at the point where that will become more and more necessary. How you handle this clash of your son's desires and your own sense of what's necessary will ultimately determine his level of cooperation. Keep that lovely ability to see things from his perspective, and you'll find he moves through these "challenging" phases more quickly, and becomes ever more cooperative as he gains the ability to communicate in words. As you say, his job right now is exploration. Work with that as much as you can, and you'll find less and less friction. And enjoy him!