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
\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}