For the mattress, pick up a zippered vinyl mattress cover. It's sort of like a big bag you put the whole mattress in (then put on pad and sheets as usual. We have them on all the beds in our house. They don't interfere at all with comfort and totally protect from spills, leaks etc. as well as allergy issues like dust mites and bed bugs that can get into and out of soft surfaces.
That being said, is he soaking THROUGH the diaper or pull up to his clothes and bedding or are you sometimes having him "go with nothing?" It wasn't clear to me from your post. If he's going with nothing, why? If he isn't regularly waking up completely dry, why stress everyone out by sending him to bed without a diaper? He can't willfully hold it in his sleep just because he's wearing undies. Keep him in pull ups to sleep 100% of the time until he is waking up dry EVERY time for about a week.
HTH
T.