I'm now using .xsession to run my terminal/browser while xmonad is starting. What i'd want to be able to do is to start different programs on different virtual desktops in xmonad (eg browser on desktop 1, nautilus desktop 2). How can i do this in xmonad?
A tool solving your problem
Devil's Pie can do that, and it is not specific to xmonad, should work with all window managers.
You can set it up to redirect browser to desktop 1, nautilus to desktop 2, etc.
How to use it
If you just meant to move window to desktop only at session start time, and not later, you can have your