There are numerous cheaper than dedicated server frameworks that off mod_perl. Not advertizing here, but check out HSPComplete. Some sites that offer it are: eryxma.com, and Hostmania.net (the entry level page doesn't work there.). You might want to check out other examples of this as well, by going to webhostingtalk.com. Other possibilities include root via UML (User Mode Linux), or Ensim's virtual server environment. I'm not sure how any of the technologies employed actually work, though.
In addition, my webhosting provider expnet offers a 'virtual server' package that gives each user a chrooted 'root' access. To use mod_perl, or to install apache ability to modify the kernel is not a prerequisite, so this works as well. However, access to shared cache (PostgreSQL, or IPC::Somestuff, I assume) is not possible, as that's much more complicated. I wonder if the virtuozzo or Ensim environments allow access to them?
So access to mod_perl is now offered for cheaper and cheaper prices, although this includes root access, and a prerequisite is *some* sort of server knowledge. When you consider some of these hosting accounts cost less than $15, it really is remarkable. If you can administer a server, I'd advise investigating. Otherwise, you'll have to get somebody to manage these environments for you. With 'virtual server' environment so cheap, there really is not much of an initiative to allow users access to mod_perl through 'virtual hosting', since it really doesn't corner any aspect of the market (the ammount of mod_perl coders who are not linux savvy is minute...)
In addition, when you say:
PHP has spread through the shared hosting world like wildfire, as is easily evidenced by the fact that the simple web messageboard domain is dominated by PHP nowadays. The feasibility of being offered in shared hosting environments would be a great boon to mod_perl.
I would assert that mod_perl, even if it was available for shared hosting, would not spread like PHP. The main reason I find people using PHP is that it's learning curve is the least steep of all languages. Mod_perl, on the other hand, is very complicated (taking advantage of the Apache hooks, as well as the power of once-compiling code), and it follows a natural progression from perl as a language. This means that users won't be able to make a simple change from PHP to mod_perl. However, It might be valid to offer mod_perl through template toolkit; although, I find this to be less satisfactory than PHP for simple tasks.