That must be discouraging. You should note that, irrespective of how you configure PHP via php.ini, the DreamHost "procwatch" process will still terminate processes that use too much memory, or CPU, or execution time. I'm not saying that this is what is happening to you, but it is a possibility.
I can tell that you are frustrated, but you are kidding, right? These are shared server accounts. If DreamHost did not restrict memory usage in some way there would no way to prevent a single user from monopolizing the resources of the machine and negatively impacting other users.
"Reasonable" is a highly subjective term; what is reasonable for one may not be reasonable to another. Your choice of software, by necessity, must take into consideration the resources you have available. If you want/need to use more resources than are available to you in a shared account, there is always a dedicated server, or DreamHost PS.
That's nonsense. Many "ecommerce" applications run fine within the resources available to you as a DreamHost shared server customer. Of course, not every program will. It seems you might have picked one that requires more than DreamHost allows.