I do agree that scripting masks becomes more powerful for larger designs (and is how I work although admittedly not with Nazca). However, in my experience, the threshold to program (sometimes in a new language) is often too high and hinders widespead adoption in a group. Integration with PCells in Klayout would allow those who have not thought about working that way to see what is possible in an environment they are familiar with.
The SiEPIC project was exactly what I was thinking about when asking this question as it does seem quite possibly to marry the two. Looking into the code on this, it certainly seems feasible. My initial thinking is to define a class that inherits a nazca cell and the required PCellDeclarationHelper (or some subclass of it) where the method produce_impl() converts nazca elements to klayout elements. The structural problem comes from the requirement on the type being declared for the parameter input in the PCellDeclarationHelper but perhaps that could be default to the type declared in the doc string of the nazca class or something unless overwritten.