I've written a RichFaces application where I dynamically show/hide a modal panel and have it centralised as well. This is the definition I used (
JSF 1.2, Richfaces; tested on IE6-8, FireFox [(Windows and Linux], Opera, Chrome[Windows and Linux]).
The "trick" is, I think, to have "left" and "right" set to"auto". I am not running a RichFaces environemtn at the moment, so I cannot
test it myself (I have a nasty feeling that this does not re-centre itself if the browser window is resized).
If that does not work for you, your only other option is to
use some JS to calculate the required position.
Also, there appears to be some few issues reported on JIRA with regards to the modalPanel (often down to a combination of RichFaces version and browser).