Macro \ifx \else - sex output alternating (help please)

Your question is rather unclear but my guess is that you do not want the alternating he/she behaviour (which is all the code you show does) and want the commands to produce a specified gender in each case, something like this

enter image description here

\documentclass[]{article}
\usepackage{xspace}

\makeatletter

\newif\ifxspace\xspacetrue

\newif\ifsex@he\sex@hefalse


% #1=MI,MC,FI,FS
\def\setgender#1{%
  \if F\@firstoftwo#1\sex@hefalse\else\sex@hetrue\fi}

%%????\ProcessOptions





%Sex toggle - he/she (lower case)
\newcommand*{\heshe}{%
  \ifsex@he\else s\fi
  he%
  \ifxspace\xspace\fi
}

%Sex toggle - He/She (capitalized)
\newcommand*{\Heshe}{%
  \ifsex@he H\else Sh\fi
  e%
  \ifxspace\xspace\fi
}

%Sex toggle - him/her (lowercase)
\newcommand*{\himher}{%
  h%
  \ifsex@he im\else er\fi
  \ifxspace\xspace\fi
}

%Sex toggle - Him/Her (capital)
\newcommand*{\Himher}{%
  H%
  \ifsex@he im\else er\fi
  \ifxspace\xspace\fi
}

%Sex toggle - his/her (lowercase)
\newcommand*{\hisher}{%
  h%
  \ifsex@he is\else er\fi
  \ifxspace\xspace\fi
}

%Sex toggle - His/Her (capitalized)
\newcommand*{\Hisher}{%
  H%
  \ifsex@he is\else er\fi
  \ifxspace\xspace\fi
}

\makeatother

\begin{document}

\setgender{MI} MI: \heshe \Heshe \himher \Himher \hisher \Hisher

\setgender{MC} MC: \heshe \Heshe \himher \Himher \hisher \Hisher

\setgender{FI} FI: \heshe \Heshe \himher \Himher \hisher \Hisher

\setgender{FC} FC: \heshe \Heshe \himher \Himher \hisher \Hisher

\end{document}