You can use a 2D layer on top of the 3D layer, then translate the 3D coordinates to screen coordinates, then use a 3d distance calculation to store the distance from each sprite to camera, then sort the 2d sprite by that value. Additionally, you can use that distance value to scale the sprite according to distance.
To retrieve the plane coordinates, e.g. screen X coordinate, do something like
3DCamera.CanvasToLayerX("Viewport", 3DCamera.LayerToCanvasX("Floor", PosX, PosY, PosZ), 3DCamera.LayerToCanvasY("Floor", PosX, PosY, PosZ), 0)
where "Floor" is the 3D layer, "Viewport" the 2D layer, and the variables PosX, PosY, PosZ is the sprite's x,y and z elevation.
To get the distance of sprite to camera, use the Pythagorean principle in 3dimensional space, which is distance = square root of (x² +y² +z²), while
x = abs(sprite.x - camera.x)
y = abs(sprite.y - camera.y)
z = abs(sprite.z - camera.z)