You can for example create as many Layers as you want to have Z-Orders. For example 10 layers for 10 different Z levels. You then order them in your prefered order.
And you can make the following.
Every tick ->
If Object1.Y < 100 - Object1.MoveToLayer 1
else IF 100 < Object1.Y <200 - Object1.MovetoLayer 2
else IF 200 < Object1.Y <300 - Object1.MovetoLayer 3
That works for a limited number of Z dimensions.
For an infinite number, it is possible to move an object either to the Top of the Z Order or the Bottom of it, but im not sure what your game is trying to achieve, thus not sure if that would help you.