Для этого вам нужно использовать подзапросы.
Address alias = null;
ICriteria criteria = personsCriteria.CreateCriteria<Person>(x => x.Address, () => alias);
var addressCount = DetachedCriteria.For<Address>();
addressCount.SetProjection(Projections.RowCount());
addressCount.Add<Address>(x => x.User.Id == alias.Id);
criteria.Add(Subqueries.Eq(2, addressCount));
Я использую лямбда-расширения ICriteria. Вы можете посмотреть на них здесь