Hollie,
Sorry for the delay, I've been on travel the past couple of days...
I'm not sure you can place a control on the report to expand all / collapse all dynamically, but one thing I have done in the past to get around this is use a parameter initial drill down state. I have a number of reports that summarize data by a hierarchy.
For example:
We may have a table counting customers by geographic area, the user may want to view the report by Geographic Area, Country and lastly All the detail.
So I'll have a parameter with the values "Geographic Area, Country, All Detail" listed. I then programatically set the initial state (hidden = true/false of the row) based on this parameter.
Hope that helps. If you need more info just let me know