Is it possible to evaluate $n!$ in $O(1)$?
There are two scenarios:

Your integers are of fixed size. Then, you absolutely can compute $n!$ in $O(1)$. In fact, every algorithm that computes $n!$ satisfies this. Why? There are finitely many inputs to your algorithm. If it takes $f(n)$ steps to compute $n!$, and there are finitely many $n$ values, then there must be some maximum for $f$. That's the upper bound on your runtime.
Is this answer useful? No, since it doesn't give you any hints as for how to speed up an algorithm. But, it hints that maybe Big-O notation isn't an accurate measure of time for your particular application.

Your integers are of unbounded. Then there can't be an $O(1)$ way to compute it.
How do we know? Well, suppose you have an algorithm that takes at most $k$ steps for any input. Give it an input with $k+1$ bits. It can't possibly examine each bit, since looking up a bit requires a step. So your algorithm only looks at $k$ bits of the $k+1$-length function. But then, if you give the same input with the ignored bit flipped, it will give the same answer! This is impossible, since factorial is an injective function. Flipping a bit should always give us a different answer, so we must examine each bit, so we can't compute it in $O(n)$.