Во-первых, я бы создал простой класс DependencyObject для хранения вашей коллекции:
class YourCollectionType : DependencyObject {
[PROPERTY DEPENDENCY OF ObservableCollection<YourType> NAMED: BoundList]
}
Затем в своем классе, производном от ValidationRule, создайте свойство:
YourCollectionType ListToCheck { get; set; }
Затем в XAML сделайте следующее:
<Binding.ValidationRules>
<YourValidationRule>
<YourValidationRule.ListToCheck>
<YourCollectionType BoundList="{Binding Path=TheCollectionYouWantToCheck}" />
</YourValidationRule.ListToCheck>
</YourValidationRule>
</Binding.ValidationRules>
Затем при проверке посмотрите коллекцию свойства ListToCheck BoundList для предмета, с которым вы проверяете. Если он там, очевидно, возвращает ложный результат проверки. Если это не так, верните true.