Вы должны найти пользователей без компании (как вы сказали), поэтому их использование. Компании. Количество должно быть равно нулю, просто преобразуйте это в linq (как показано ниже):
var withoutCompanyUsers = Users.Where(x=>x.Companies.Count() == 0).ToList();
Редактировать: О вашей второй проблеме: а что, если я хотел бы получить все копии, не связанные с данным пользователем?
В этом случае вы должны найти компании, у которых нет конкретного пользователя:
Проверка компании имеет конкретного пользователя или нет:
company.Users.Any(x=>x.ID = givenUserID)
Выборка компаний без конкретного пользователя:
var companies = Companies.Where(x=>!x.Users.Any(y=>y.ID == givenUser.ID)).ToList();