I’d assume the technical reason is that directives in .htaccess files are only visible to Apache modules. Since PHP is running as a CGI, it’s more or less separate from Apache, so it can’t “see” the php_value directive.
You could get around that problem by running PHP as an Apache module, or compiling your own PHP so you’d have your own php.ini. Or just be careful to initialise all variables when writing code.
I wonder if it would be possible to add something to .htaccess that would call Dreamhost’s existing PHP CGI with a command-line switch that would point it to a different php.ini?