The short answer is alpharev.nl, as long as your phone is GSM. A lot of us in the root forum have done this, so do feel free to come over and ask.
It does give up some other memory, but it's memory you aren't using. By default the desire allocates 250 MB to /system, where the ROM lives, but many ROMs use a lot less than that - my current one uses 140 MB, and the smallest ones less than 90 MB. You can't use the empty space in this partition for user apps or data, so it's effectively wasted (and that's also why deleting system apps doesn't free any space for you).
The alpharev tables (or a full custom mtd) change the sizes of the internal partitions (system, cache and data). For example, I'm using a table with 180 MB /system, with the extra 70 MB given to /data - effectively I have 70 MB more usable internal storage than HTC gave me. If I were to start using Redux as my regular ROM I'd be tempted to switch to the "oxygen hboot" which would give me double the /data size of a stock desire (but TBH only because I can - right now I've got 109 user apps installed and 144 MB internal free, so am not exactly short of space).
The catch is, as you can see above, that it depends on what ROM you are using - some need the full 250 MB. One quick check is to install Quick System Info and see how much "System Storage" you are using.