Зачем вам не только исключения, но и вообще логика на приложении? Это поведение элементарно указывается в запросе.
SELECT TOP 100 Calls.ID, Calls.DateTime, Calls.Trunk,
coalesce(Subscribers.FIO, Calls.Subscriber) as fieldname, -- если FIO NULL, тогда использовать значение поля Subscriber
...
Насколько я понял, нужно сделать выборку по массиву значений какого-то поля, тогда Вам нужно использовать Contains, что создаст WHERE IN конструкцию в SQL. Как пример можете посмотреть эту ссылку: Linq-To-Sql: Alternative to the ‘WHERE IN’ Expression