There were many different compilers for Z80 for ZX Spectrum. Also, there used to be quite a lot of stuff for the CP/M 80 OS. The CP/M stuff was intended for i8080, however it is upwards compatible with Z80. I can recall the different versions of C, Pascal, Forth, Fortran, many dialects of Basic.
However, the above mentioned compilers were not the cross compilers. I.e. you have to run them on the real Z80 system or in Z80 simulator on PC.
One KB just for the variable data is not a problem. However, it would be difficult to fit a meaningful application with the code and the runtime libraries into the total memory footprint of 1KB.
I wounder why would you need that in our days.
Vladimir Vassilevsky DSP and Mixed Signal Design Consultant