Вы можете добиться этого, используя запрос CAML, для построения запроса вы можете использовать очень хороший инструмент под названием U2U CAML Builder , чтобы сгенерировать запрос так, как вы хотите.
В части C # вы создаете SPQuery
и назначаете сгенерированный запрос CAML из инструмента в виде строки и присваиваете ему
var query = new SPQuery();
query.Query = "<Where><Eq><FieldRef Name='AssignedTo' /><Value Type='UserMulti'>"+i +"</Value></Eq></Where>";
Для поиска во всех папках просто обновите свойство ViewAttributes, как показано ниже
SPQuery.ViewAttributes = "Scope='RecursiveAll'";
и назовите это как
var listItemCollection = list.GetItems(query);
где list
ваш SPList
объект