Почему бы не использовать LINQ для возврата элементов, которые совпадают в reportid и содержат 'display:', чтобы минимизировать объем данных, возвращаемых с сервера, а затем использовать регулярные выражения на стороне клиента для фильтрации этого списка?
var query = Pages.Where( p => p.DomainId == 1 && p.PageContent.IndexOf("display:") > 0).OrderBy( o => o.URL );
var regex = new Regex(@"display\:[\t]*none");
foreach (var page in query)
{
if( regex.IsMatch(page.PageContent) )
{
// Do whatever...
}
}