The tool devilspie (available in 12.04 from repository) can act on new or already present windows, in a way at least similar to what you want.
You will need to create a configuration file, by convention something like .devilspie/my-app.ds. The configuration language is funky lisp-style poorly-documented abomination, but should be able to do what you want.
You need a way to (i) identify your window and (ii) decide on the action. If, for example, your window's title happened to contain "my-app" and you wanted to always put that window on 2nd workspace, this file would contain:
(if (contains (application_name) "my-app") (set_workspace 2))
Next, start it: devilspie -a ~/.devilspie/my-app.ds, and it should act on current and future windows (without -a only on future windows).
This might not be exactly what you want, for example (minimize) instead of (set_workspace 2) perhaps suits you better. The man page has a listing of all the symbols and their meanings, I hope you find a solution there.