I am a strong advocate for global Z, as it will solve a lot of the most common problems. I dont think anyone using cocos2d at some point havent been in the situation where they couldnt put a sprite on top of something, either because it was in another batch, or in another layer.
But I also realize that the current local Z has its advantages.
With the arrival of a centralized render engine, it will actually be possible to sort object according to a global Z. The problem is, that the user has no meaningful global Z value to use for this. Because of this, I a long time ago, in a galaxy far far away, I had this idea that we could treat it relative, and implement functions like ex: