I have my external monitor arraigned such that when connected the Menu Bar is at the top of the external with the Dock at the bottom of the built-in LCD, and I honestly can't remember how I did it. The external/built-in is a vertical set up i.e. the external is above the built-in. When I connect the external all windows and desktop icons leap up to the external, and when I disconnect it the Menu Bar, icons, and app windows leap back to the built-in (and sort of resize themselves accordingly, though I do have to tweak them a bit with some Exposé action.)
All I can tell you is that it's possible but I'm averse to messing with it to tell how to do it, because it was one of those pain in the behind things where it kind of just happened and I don't remember exactly what it was I did and thus I would rather just leave it be.
Mess around with dragging the displays and Menu Bar about in the Display Prefs like I did and you'll probably get it the same as I do. That's pretty much what I did. Just don't be afraid until you get it the way you want. Then be afraid and don't mess with it.
Oh, wait, you wanted the dock on the external. Hmm...can't help you there, sorry. Try pinning it to one side and see where it ends up when you connect, then try to move it to the bottom. Something about primary/secondary display.