Can we use exponential function in a reduction?
For the sake of notation, I'm going to assume you're trying to produce a polynomial time reduction&nbsp;$f$, which that maps instances&nbsp;$x$ of some problem&nbsp;$L_1$ to instances&nbsp;$f(x)$ of some other problem&nbsp;$L_2$.  Instances of&nbsp;$L_i$ have parameter&nbsp;$p_i$ ($i\in\{1,2\}$).  Since the reduction has to run in polynomial time, it has to output at most a polynomial number of bits, say $|x|^q$ for some constant&nbsp;$q$. In particular, the representation of&nbsp;$p_2$ can't be more than $|x|^q$ bits long.

So, suppose the value of the parameter is&nbsp;$k$ in some instance&nbsp;$x$ with parameter&nbsp;$p_1=k$. Whether or not $f(x)$ can have parameter&nbsp;$p_2=2^k$ depends entirely on what the parameters are and how big $p_1$&nbsp;can be.

If $p_1$ is a number represented in unary, we have $p_1\leq |x|$; if it's a number represented in binary or some higher base, then $p_1 = O(2^{|x|})$. If $p_1$ is the size of some object described in&nbsp;$x$, then its size will depend on what kind of object it is (e.g., if $p_1$ is the size of some set of a graph's the vertices, $p_1\leq |x|$; if it's the number of pairs of vertices with some property, $p_1\leq |x|^2$, and so on).

And, now, what's $p_2$? If it's a number in unary, then $2^k$ is a string of length&nbsp;$2^k$, so we need $2^k\leq |x|^q$, i.e., $k=O(\log |x|)$. If it's a number in binary, then $2^k$&nbsp;is just a&nbsp;$1$ followed by $k$&nbsp;zeroes, so we can write this in our output as long as $k=O(|x|^q)$. If it's the size of some structure then, again, it depends on how that structure is represented. For example, if you need to add $2^k$&nbsp;vertices, you need all those vertices to be stored in at most $|x|^q$&nbsp;characters, so $k$&nbsp;had better not be any bigger than about $\log n$.