I think that the problem here is that the group separator cannot be configured in JSTL. The Locale's group separator will be used. What you could do is to reverse the value, and separate groups of digits with spaces (I assume each group is 3 digit wide). Here is a sample, which you could put in a custom tag file. There may be other simpler ways to do it.
If you use a pattern such as "#,###", it will separate numbers with the Locale's group separator. So unless you are using a Locale whose separator is blank (are there any ?), I don't think you can use formatNumber to do this.