Demo and game competitions without constraints exist, but naturally become a competition of art and design, where use of existing engines is rewarded, discouraging programmers. The constrained competitions can be more appealing to programmers, where programming creativity is better rewarded.
16-bit machines usually had a larger address space; the Motorola 68000 had a 24-bit address bus, for instance. While that allowed for quite a bit of memory, again (at least for most consumer hardware) most people were limited to at first 512k to 1Mb, then as the early-90s wore on, up to about 8Mb - at which point 32-bit cpus became affordable.
So the only place you really saw larger amounts of memory (and this is more my understanding than experience, as I was just a kid then) with 16-bit machines was usually businesses and other "larger scale" computing that had the need and finances to afford it. As always, I suppose.
And thus changes the expected audience to the challenge -- ideally, everyone there is interested in the same goal, with varying experience; the kinds of goals that will appear depends on the constraints imposed
Lines of code/package size, libraries used, performance requirements, deadlines, etc.