If you define $f_x(y) = y^{e^x}$, then you are asking for a real number $x$ such that
$$
\lim_{n \to \infty} f_x^n(e^x) = 2,
$$
where $f_x^n(e^x)$ means $f_x(f_x(\dots(f_x(e^x))\dots))$ and the function is applied $n$ times. Note that if such a number existed, then we would have
$$
a \overset{def}{=} \lim_{n \to \infty} f_x^n(e^x) = \lim_{n \to \infty} f_x^{n+1}(e^x) = f_x \left( \lim_{n \to \infty} f_x^n(e^x) \right) = f_x(a),
$$
because $f_x$ is a continuous function, hence $a = a^{e^x}$ and then either $e^x = 1$, which means $x = 0$ (and this is not a solution to your problem), or $e^x \neq 1$ and $a^{e^x - 1} = 0$, hence $a = 0 \neq 2$ (which is again not a solution to your problem). In any case there are no solutions.
The right question to ask is if you iterate the other way around : that is, if you define $g_x(y) = (e^x)^y$ and you consider the equation
$$
\lim_{n \to \infty} g_x^n(y) = 2.
$$
This has been answered in this solution of mine.
Hope that helps,