The original question is "I know this might be a wild question, but has there been any attempt or is it possible to port Unix (or one of its derivatives) to a Z80 environment? Yes or No...please explain..." To my knowledge a reasonable Unix has not been ported to run natively on the Z80, and it is not feasible. You can have some Unix-like features, but getting something that operates like Unix at the kernel level is going to be impossible.
It's a much tougher question in my mind. Exactly what constitutes Unix--is it the OS kernel or the utilities that accompany it? If it's the kernel, then what features (keeping in mind the historical evolution of Unix) are essential to the character of Unix? If it's the utilities, which ones? If it's both, what's the minimum to be called Unix?
There are probably several Unix utility-work-alikes around. If protection is important, there are certainly multi-CPU Z80 systems with each CPU having its own memory space monitored by a supervisor CPU (the logical equivalent of a protected-mode CPU). Similarly, a bankswitched Z80 CPU with the proper hardware can be said to be protected, as long as any part of memory can be mapped out and privileged memory be mapped in only only with an accompanying trap to a predetermined location within it. There are lots of ways to skin a cat.
Is Cromix Unix? Cromemco certainly didn't call it that. Have there been
any ports of Unix to Z80 hardware, no matter how heavily augmented? Probably not--but it's hard to say. We've lost so much of the early startup attempts that I wouldn't venture to guarantee an answer. About the only assurance is that Unix porting to microcomputer architectures didn't really gather steam until the late 70s. To be sure, there were other multi-user alternatives that consumed fewer resources.
Given that the Z80 community mostly used the CP/M application base, the big question is why anyone would want to bring in Unix. Cromemco is an exception, essentially keeping its user community locked in.
With a speed-challenged CPU like a Z80, another consideration was "Can one get reasonable efficiency from a real Unix port on a CPU as badly suited to C as a Z80?" When we did one of the early ports of Xenix to the 80286 and translated our applications base from x80 assembly to C, we watched the speed of the system drop substantially. It took a lot of work to get things back to something approximating the speed of the original 3.5MHz 8085 that could service 5 users without breaking a sweat.