Hi D.,
If he is mostly dry at nap time, have him wear underwear for nap. He may end up wearing a diaper or pull-up at night for a while. My oldest was a bet wetter until she was almost 5, though she was fully daytime potty trained by 2 (including her nap). They do have night time pull-ups that work well. What you have to remember is that night time is not really part of the potty training process for kids who are bed-wetters, so diapers probably won't set him back at all. No matter how much they WANT to be night time trained, their little bodies just won't cooperate with them! As their bodies grow, they will grow out of it. (Oddly enough, my youngest was night time potty trained as soon as she was daytime trained, which my older daughter thought was "so unfair!" =)
Anyhow, with regard to the poop thing, BOTH of my kids did that! The way I resolved it was, I made sure they were on Miralax so the poop would be soft (because when they "hold it" for days, it gets really hard and painful, which makes the whole process way worse). And then, when I knew they would have to go, I'd make them sit on the potty. They'd try to arch their backs and not go, but I'd force them (wrestle with them?!) to sit and go. It sounds mean, but I was sort of at my wits' end, and I figured that holding it for days wouldn't help anybody. Also during this time period, I'd have them run around bare-bottomed, no underwear or shorts or anything. Most children will not poop on themselves or the floor, so when they felt like they had to go, the potty was the only place they could do it. After 2 days of that, the problem was solved. Sometimes they just need a little help changing their habits. When you think about it, your son has been pooping in a diaper for 2 years now, and so that feels normal to him. Pooping in the potty is a totally different habit, and toddlers have a hard time changing their habits. Sometimes it just takes some intervention from mom and dad!
I hope that helps - good luck. Potty training is not a fun process, but it will be over soon! =)