I don't quite understand how ctree/cforest deal with missing predictors. Can someone please explain this further?
Conditional inference trees (CTree) as implemented in
party and its successor package
partykit allow for so-called surrogate splits when predictors are missing. The idea is that if the original split, say $x_1 > \xi$, should be evaluated but $x_1$ is missing, an alternative split $x_j > \nu$ (with $j \neq 1$) can be used that approximates the original split.
To find this best approximating split a CTree is learned that has the binary response $x_1 > \xi$ and can choose from all remaining $x_j$ as surrogate split variables. This will find the best surrogate split approximating the original split - using the same criterion as the CTree itself employs.
This is briefly described in the original CTree paper in Section 3.3: Torsten Hothorn, Kurt Hornik, Achim Zeileis (2006). "Unbiased Recursive Partitioning: A Conditional Inference Framework." Journal of Computational and Graphical Statistics, 15(3), 651-674. doi:10.1198/106186006X133933 [preprint]