"There probably is _some_ mathematical formalism out there where there are less prime numbers than natural numbers."You could call Z[n] ?for any composite n? that (in Z[4], the multiplication table only contains 0, 1, and 2, so 3 is prime there; Z[p] for prime p gives you p different numbers and zero primes) but I think those are the only ones. If you accept that infinity exists you get Hilbert's hotel, which gets you all those paradoxes, which after lots of sleepless nights leads to the only logical conclusion that giving up intuition about infinities is the best way out.
If you don't accept that infinities exist, there must be a largest integer M, and you get to decide what M+1 or 2M are. That leads either to Z[n], to K&R's undefined behavior, which is so ugly no mathematician would dare publish it :-), or to some formalized variant of it that isn't Z[n].
I'm not sure I would call the values of Z[n] natural numbers, though, as that feels like it requires having negative numbers, too. Hm, maybe a shifted Z[n] would work. If you replace {0,1,2,3} by {0,1,2,-2,-1} in Z[5], you have two negative and three natural numbers in your universe, none of which is prime.
I doubt that any of this kind of mathematical hair-splitting would bring aboard those who have trouble with grasping 0.999999... = 1, though :-)