In general, are sketches written for one Arduino portable to another (assuming all the shields are present on both)?

Sure, as long as you are using hardware features that are in common. Many of us develop on Uno, Duemilanoves, etc. then burn the same code into Prominis, RBBBs, standalone clones etc, that are hardwired into 'final' projects.

Thanks, good to know. What's a good choice for a general purpose board for developing apps? Maybe the Uno?

Sure. I have a duemilanove, but only because I purchased it before the Uno came out. Either will work fine. Update your profile as well with location so we can give country/area specific advice.