NGUI supports nested clipped panels as of 3.5.6. The clipping is done via a shader, yielding the best possible performance. NGUI determines how many panels clip each draw call and chooses the appropriate shader to do it. I wrote shaders for up to 3 clipped panels affecting each draw call, but NGUI itself can support more if desired.
The order in which draw calls appear depends first on panel depth, and then on widget depth. The higher the depth, the later the draw call will be drawn, causing it to be on top. Make your panel's depth higher, not lower.