Use AND and OR:
select ...
from ...
where
(
(FeeTypeID = 16 AND FeeRequirementTypeID = 18) or
(FeeTypeID = 17 AND FeeRequirementTypeID = 18) or
(FeeTypeID = 18 AND FeeRequirementTypeID = 18) or
(FeeTypeID = 19 AND FeeRequirementTypeID = 18) or
)
and
(
end_date is null or
end_date > now() -- or whatever expression your dbms uses for today
);
EDIT: I just notice that ist always FeeRequirementTypeID = 18. So simply:
select ...
from ...
where FeeRequirementTypeID = 18
and FeeTypeID in (16,17,18,19)
and ( end_date is null or end_date > now() );