One method is to create a calculation that returns the employee name if that employee is active.
_ctEmployeeActive = Case( Active = "Yes"; EmployeeName) with result as text and then use that field as the valueless source.
What you are describing is what I call a "hardwired" conditional value list. StephenWonfor has described the method I usually use. A relationship can also be used to produce the same result.
Both methods and many more are demonstrated in this file:
Create a field with this name:
Make it a calculation that does this (result is text):
= Case( Active = "Yes"; EmployeeName)
use _ctEmployeeActive as the value list source.