I have done similar kinds of customization in Tigase. I will recommend you to choose Tigase if and only if you are looking for high scalability . For Tigase scalability look at Scaling Tigase XMPP server on Amazon EC2 . The other part of Tigase is you need to dig into the code on your own there isn't much help available else than Tigase offical website.
In openfire you can get much community support in term of blogs and tutorials as compared to Tigase. But openfire isn't salable as Tigase. Also Openfire has a wide range of plugins available.
One more thing about Tigase is that Tigase maintains in memory rosters once user gets login.