Is it possible to set intersection ordering?

Ray casting seems to be logical solution.
I believe, you may try also to use occlusion queries with some custom logic.
Here is a lot of info about it - How to Occlusion Culling properly