There is no imposed limit on the number of users. It’s open source so you could just remove it if there was, but there’s not. Like many commercial open source products, the business model works by people paying for professional support services and other (possibly related) non-free products and services.
EDIT: As for your question 1, I had a quick poke around and it seems there is no arbitrary limit placed on the number of users, or it’s so high that you are unlikely to reach it before you server chokes on concurrent user load. See this document for concurrent users vs. recommended hardware… http://www.igniterealtime.org/community/docs/DOC-1543
Software, is it absolutely free?
It’s not only free, it’s much more, it’s open source.
You can download the source, modify it and publish your modification again. In the case Jive does not longer exist in future, you could fix important bugs yourself or pay some else to do it for you. Without the source code this would be impossible.
However, the open source version of Openfire does not support clustering. (These connection managers are no real clustering.)