Вы можете использовать троицу в пределах .Max()
для обработки предиката и установки его значения;
// assumes Workers != null && Workers.Count() > 0
int maxShoeSize = Workers.Max(x => (x.CompanyId == 8) ? x.ShoeSize : 0);
Вам необходимо обработать коллекцию Workers
как пустую / пустую, если это возможно, но это будет зависеть от вашей реализации.