I haven't been able to get a definitive answer as to how the order of multiple badges is chosen in the postbit, but it seems to be related to the usergroup ids. If this is true, can I run a SQL query to change the order of usergroup ids and in turn the order of the badges? For example, can I run code that says 1 -> 2, 2->1?
Then you would need to actually modify the code itself. I don't think you could do a plugin. There is actually a thread around here about how to do this. Did you try a search? (A question about rank order was actually asked within the last couple of weeks with the link to the thread posted.)