I think a lot depends upon what you're doing.
Most of my coding is done in an ssh terminal using screen/vim. For this task I find myself most productive in a laptop. If you can get used to a laptop's touchpad you can be very productive because I find the time to switch between touchpad/keyboard is much less than the time to switch between a standard mouse/keyboard. The small movement of the touchpad isn't a big deal because the viewing space is small enough.
When using a full blown IDE I find myself most productive on a large, high resolution monitor, mainly because of all the surrounding stuff IDEs add - small displays just can't display enough code for me. However, touchpads are no longer efficient because it takes too many swipes to move across the screen, so I have to use a standard mouse+keyboard, losing some efficiency.
Usually, I find myself wearing two hats - monitoring production systems while coding. Multiple monitors are invaluable here, allowing you to delegate monitoring to 1 or 2 screens fulltime, while you use the other for coding. This way you don't have to mess with alt tabs, you can just take a quick glance when you want to.
One thing I've found invaluable with a multiple monitor setup (I'm currently at 4, laptop not included) is being able to move from monitor to monitor quickly. I use global hotkeys for this - ctrl-1 moves my mouse to the first monitor, ctrl-2 moves my mouse to the second, and so on. Without this I found myself spending far too much time moving my mouse around the screen to truly find them useful.