I used to exclusively work at two 24" monitors. Then I switched to a tiling WM and from many years on OS X back to Fedora. I found that the WM/OS switch improved my productivity to the point that I was better off on a 15" laptop with those two changes than before them on two monitors. And the setup was around $2,000 cheaper.
Now my ideal setup is a single large monitor along with familiar peripherals (Kinesis, trackball), xmonad, and Linux. If you'd told me a year ago that I'd be happier with one monitor than two--or nearly as happy on a laptop as a desktop--I'd have said you were nuts. But, here we are.
I agree that the difference in productivity between the worst-case (Mac laptop) and best-case (Large monitor; peripherals; xmonad) is not orders of magnitude. But I would say that over time it has come to approach 2x, which is not at all insignificant.
And I think "expense" matters little compared to "comfort". If a keyboard that didn't cost $250 was just as comfortable for me, I'd buy it. In the case of this particular switch (laptop -> linode), the comfort level would be close for most tasks as I already live in Vim and things with Vim-like bindings. But the totally new window/peripheral interface would definitely slow me down. I've spent enough years comparing environments over long periods of time to know that.
All the technology in the world doesn't make me think faster. The most I can ask from it is that it gets out of my way and lets me search, explore and express myself efficiently.
Not as sexy as a new cinema display though.
I very rarely feel slowed down by my environment. It's possible for it to happen, but most of my time is spent thinking about a problem, not typing.
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.
I'm not sure how much a small screen would or wouldn't actually slow me down, but it feels more tiresome to work on a smaller screen.
Systems debugging is where you really want the space. I often have 4 terminal windows open at once - you need screen real estate for that.