J.S.
My 2 year old (23 month old) daughter does the delaying game at bedtime. She started it about a month ago and I didn't quite notice, and it really came to a head this last week. Now I'm putting a stop to it.
This is how I'm dealing with it: I'm sticking to our naptime/bedtime routine, I explain to her what's coming next and i stay as calm as possible the whole time. If she screams and screeches at me -- I calmly tell her that "Mommy isn't yelling at you, so you shouldn't yell at Mommy" - that often calms her down into a talking voice.
Her main delaying technique is to ask for more hugs and more songs. So part of her routine, she gets one hug and 2 songs. After that, its done, and its time for her to lay down. The last 2 nights there has been a LOT of screaming after the 2 songs were done and she wanted "more sing" but I stuck to my guns, and after 20 or 30 minutes she put herself down. I expect that tonight she'll put herself down sooner than that, as she realizes that she has to follow my rules and that the delaying techniques aren't working anymore.
So anyway -- this is a long way of saying let him choose 2 items for him to bring to bed (or 3 if you want, it doesn't matter, just pick a number and stick to it, don't waiver). After he gets those X items. It's time for his nap. No questions asked. I'm impressed as to how much I can talk to her when she's upset and explain to her what is "proper behavior" and what isn't. I can ask her not to yell at me, I can ask her to take a deep breath. I can reason with her.
Give it a try. Stay calm. It'll suck for a few days, but once he realizes that his games won't work -- he'll straighten up to your way of doing things. Just stay consistent.
Sorry for the long post. Good luck!