Is there any upper limit for the period of any pseudo-random number generating algorithm with a fixed number of bits? I know there are some algorithms with a very large period, such as MT19937, but I wonder if it is possible to derive a theoretical maximum period for any given bit length.
Edit:
As pointed out in the comments, this is not so much about the number of output bits as about the total number of bits that the algorithm can use to store a state.
MT19937 and many other practical PRNG algorithms are deterministic functions on a state space of fixed size ($s$ bits). The state can be thought of as a "seed" that is initialized (usually from an external bit source such as the clock time when the computer was booted) and is updated each time the random number routine is called. The output of the pseudorandom number generator is some fixed function of the state, such as its final $k$ bits. For any PRNG of this type, the maximum possible period is the number of possible states, $2^s$.
For a broader notion of PRNG the period could be much larger, or uncomputable as explained in the other answer.