There are ways around this:
Use roman numerals rather than arabic ones. For example:
\def\Pi{yyy}
\def\Pii{xxx}
\def\yyy{\Pi}
\def\xxx{\Pii}
Use the \csname...\endcsname directive for all things non-letter. For example (note the required expansion):
\expandafter\def\csname P1\endcsname{yyy}
\def\PA{xxx}
\def\yyy{\csname P1\endcsname}
\def\xxx{\PA}
Use \@namedef and \@nameuse. For example:
\makeatletter
\@namedef{P1}{yyy}
\def\PA{xxx}
\def\yyy{\@nameuse{P1}}
\def\xxx{\PA}
\makeatother
Regardless, I think one can always get away with not using numerals in control sequences.