Вы можете использовать класс SPSiteDataQuery для создания запроса, который будет искать определенные типы списков по всем веб-сайтам на SPSite. Результаты возвращаются в DataTable. Это, пожалуй, самый эффективный способ запроса в Sharepoint. T
Образец в документации работает как для 2007, так и для 2010 года и запрашивает все списки типа 105 (Контакты) по всем сайтам в SiteCollection.