<p>I have a message broker with some topics, and some set of applications running on it. Now I want to run a new set of the same applications (say for QA environment) on the same topics (on the same broker, if I could). What is the best way to do this. Creating a new broker and or creating a new set of topics is cumbersome, as our environments are under tight bureaucracy.</p>

AFAIK EMS does not support anything like what you suggest.  There are a few options to get what you are looking for.
Having independent EMS servers would be the
ideal
solution.  This would allow your non-production environment to have some hickups without causing problems in your production environment.
Using the same server you can have an environment-specific prefix tacked onto all the queue/topic names.  There would need to be some application level setting for which prefix to use (qa, dev, test, prod, ...).  This would make for pretty good isolation of the environments, but would probably not work too well if any of the environments are really heavily loaded.
For topics you can use some JMS header property and messages subscriptions to determine which environment to route them to.  I would not recommend this as it would be pretty easy to screw it up and corrupt both environments.