Regarding the second sentence, both options work. However, in an ESOL examination, I would only mark "will have had" as correct.
'serve' in the sentence has stative sense: to be employed by the State Department. Stative verbs are normally not used in progressive tenses (
has been serving).
Student or Learner