Даже если вы уверены, что дубликатов EmployeeID не существует, вы можете вызвать дубликаты в операторе объединения, если один и тот же сотрудник хранит более одного журнала.Разве это не ваша проблема?
Работает ли следующее?
Dictionary<int, string> Empsource = tblOutOfOfficeLogs
.Select(x => x.EmployeeID).Distinct()
.Join(tblEmployees,
l => l,
emp => emp.EmployeeID,
(l, emp) => new { ID = emp.EmployeeID, Name = emp.FirstName + " " + emp.LastName })
.ToDictionary(empl => empl.ID, empl => empl.Name);