A macro which is similiar to \prescript but it can be used in text mode

How to define a macro, say \pretextsuperscript, to get a presuperscript ahead a word in text mode?

Just simply write \textsuperscript{2}hormone and \textsuperscript{2}population is incorrect. Why say that you can see from

\usepackage{mathtools}
\begin{document}
$\prescript{2}{}{h}$ $\prescript{2}{}{p}$
\end{document}

The prescript (in former sample is "2") should be vertically adjusted with the first letter of the argument of prescript. Also, the prescript should be upshape. I found the \prescript can only be used in math mode.

-

Text mode

If you want a \textpresuperscript to be used in text mode, then

\newcommand{\textpresuperscript}[1]{%
\textsuperscript{#1}\nobreak\hspace{0pt}}

will give you the possibility to write

\textpresuperscript{2}longword

with the result that "longword" can be hyphenated, but there will be no break between the superscript and the (first segment of the) following word. Here's an example:

\parbox{4cm}{What's \textpresuperscript{2}supercalifragilisticexpialidocious?}

produces

Math mode

If one needs to put a word in the presuperscript, then (mathtools is required)

$\prescript{\text{word}}{}h$

should be the solution. If the word should be in upright shape independent of the context outside the formula, then

$\prescript{\text{\normalfont word}}{}h$

will do. Of course one can define one's own macro:

\newcommand{\pretextsuperscript}[1]{\prescript{\text{#1}}{}}