Звучит так, будто вы хотите что-то вроде:
var query = (from call in db.PhoneCalls
where call.Date >= minDate && call.Date <= maxDate
group call by call.Number into g
orderby g.Count() descending
select new { Number = g.Key, Count = g.Count() })
.Take(40);
Это всего лишь предположение, основанное на том, что вы нам сказали, хотя ...