The orignal version of the question asked about entire functions. I had an answer to that almost worked out when the word "entire" disappeared. Here's an answer to the original:
If $f$ is an entire function with $f(z)f(1/z)=1$ for all $z\ne0$ then $f=\pm z^n$.
Since $\lim_{z\to0}f(z)f(1/z)=1$ and $f$ has a zero of at most finite order at the origin it follows that $f$ has at worst polynomial growth at infinity. So a standard exercise shows that
$f$ is a polynomial.
Say $$f(z)=\sum_{n=N}^Ma_nz^n,\quad a_N\ne0,a_M\ne0.$$
Now $$1=\sum_{n=N}^Ma_nz^n\sum_{k=N}^Ma_kz^{-k}.$$
The coefficient of $z^{N-M}$ on the right is $a_Na_M$. But the only non-zero term is the constant term; since $a_Na_M\ne0$ this must be the constant term, which says that $N-M=0$. So $f=a_Nz^N$, and then it's clear that $a_N=\pm1$.