Виждали ли сте проекта NHibernate.Spatial ? Това може да осигури лесно решение на вашия проблем.
Алтернативата е да създадете своя собствена реализация на ICriterion - това не е твърде сложно, ако извличате от AbstractCriterion и се насочвате към вашата конкретна платформа за база данни. Това ще ви позволи да комбинирате функцията си за разстояние с други критерии.