You might be able to do that with a partitioned card and the stock ROM using the app Link2SD. However, I'm not sure whether that requires init.d script support to work properly - if it does you will need a custom ROM for that anyway.
There's a "root memory FAQ" linked in the All Things Root Guide sticky (which is linked from my signature) which has some information on partitioning. As an update to that FAQ, I trust 4Ext recovery to partition sd cards, so you don't have to use GParted if you don't want to (I do not trust other Desire recoveries, and especially not Minitool Partition Wizard, to do a decent job of this). However, you should back up your card completely before partitioning (including any hidden files or folders, such as .android_secure), because you should assume that it will be wiped in the process.
The All Things Root Guide sticky post also has a link to the Desire Index thread at xda-developers, i.e. a list of ROMs and their development threads. Most will actually include the scripts needed to use an ext3 or ext4 format partition on the sd card for app storage already - the main exceptions I can think of are CyanogenMod (where it's an add-on) and dGB (very small gingerbread ROM, designed to run with a custom hboot to maximise real internal storage and not need a partitioned card). So the big choice is whether you want to keep HTC Sense or not, and whether you want to start with Gingerbread (most GB ROMs should be pretty stable) or experiment with ICS or JellyBean? In the latter case the only one I've used is Nikez's (Evervolv) JB ROM, and that only for a day - worked fine, not as fast as dGB (which was my main driver), but if you are used to Sense it shouldn't seem slow
. MildWild did some tuning and theming of a number of GB ROMs, so you could try one of those (I think there is even a Sense one if you like Sense). And Oxygen, though not developed for a long time, was always a good, stable and reliable ROM.
The first rule is to read up until you are comfortable before making any changes, and ask if there is anything you are unsure of. In most cases, if the ROMs themselves have any special requirements they will say so in the first post or two of the thread, but not all do this.
But more importantly, the zeroth rule is that you back up everything, both an app/data backup (e.g. Titanium Backup) and a system backup (a backup made using the recovery, aka a nandroid backup) before you try modifying the system software in any way. Especially the nandroid - if you do something wrong but have one of those, you can just undo it (exceptions are messing with the bootloader or radio, but we're only talking about flashing ROMs here
). So much better to make one of those before you start