project.Lists["list"].AddRange(new[]{"2","ещё одна", "","444","строка"}); // Заполнили демо данными
lock(SyncObjects.ListSyncer) {
project.Lists["list"].GetItems("0-end", true) // Взяли все строчки с удалением
.Where(line => !string.IsNullOrEmpty(line)) // Убрали пустые строки
.OrderByDescending(line => line.Length) // Отсортировали по убыванию
.ToList() // Применили изменения
.ForEach(project.Lists["list"].Add); // Вернули данные в список
}