You can “enable resource reporting” for a given user by editing that user’s set-up from the Control Panel–>Manage Users screen by clicking “edit” next to the user name, and selecting or de-selecting the check box labeled “Enable user CPU usage statistics”.
You can also select this option when initially creating a user.
Once you have enabled the resource usage reporting, you can monitor it as described in the Dreamhost Wiki article on User Resource Reporting, which also contains a link on how to get granularity for reports using PHP as CGI (tell which individual script is using the resources).
I don’t see anyway to monitor the memory usage though. The other problem is likely to be that DH no longer posts a “hard limit” on CPU usage (it used to be “firm”) but now evaluates usage on the basis of the impact on the server. There is a lot of information about this in the DH Wiki CPU Resources FAQ.
This should help you check server usage, but won’t give you any real indication of “how close to the limit” (there is no hard limit!) you might be.
DH has said they will work with you on situations where CPU usage is a problem, though they reserve the right to protect other users on your shared server by inhibiting your processes if necessary. As for “surprise bills”, DH does not bill for, or allow you to purchase, extra CPU resources - as long as you remain under the storage and bandwidth quotas (which should be easy enough!), you should have no surprises in that regard. Good Luck!