Does the SQL Server have to be in the same location as the OpenFire Server?

We are setting OpenFire up to support internal chat between three larger offices and many smaller remote offices. Would it be possible to install a OpenFire server in each one of the larger offices and cluster them together but run the SQL backend on a MS SQL Server cluster in the datacenter?

No it will not function that way. The database can be remotely installed, but you cannot have several instances of openfire accessing it. It should run fine on one server as long as it is configured with a globally resolvable domain name (chatserver.domain.com).

If multiple chat servers cannot update one MS SQL instance, how does the clustering feature in OpenFire work?

There is no clustering feature that currently is functional in openfire. The clustering plugin used to be a paid product that is no longer offered. Any reference to it is out of date.

As I said one server can adequately service multiple locations. I have a server servicing 15 or more locations spread across the entire United States.

Thank you for the information!