In reply to:
When I echo my $_SERVER["DOCUMENT_ROOT"] in php the root directory is the same as the web directory.
That is correct (and accurate), and that is how it is supposed to work:" 'DOCUMENT_ROOT'
The document root directory under which the current script is executing, as defined in the server's configuration file."
In reply to:
Like could I make a public_html folder etc. and have apache use that as the webroot but have my document root be a step higher?
*IF* you were to compile your own php, or otherwise manipulate you php.ini file (see the DH wiki), I suppose you *could* modify it, but there is certainly no need to do so in order to reference other paths in your script(s). It's not apache that will be doing the "using" in this case anyway - it is PHP
You can always refer to your "outside of webspace" resources with absolute path references, or possibly by manipulating (truncating) *other* system "path" variables to "walk up" the directory tree (see the output of phpinfo() for likely candidates).
In reply to:
I realize I may be able to store files above my abcxyz.com directory but it appears as though server-side scripts wouldn't have access to those folders so that doesn't help me.
Sure they will (I do it all the time). If you set your permissions properly (DreamHost makes that easy, and secure, for you via the use of suexec) and refer to them properly, you can (and should) use them even if they are "outside" your "webroot"! 
--rlparker