I have a series of BOM templates, some with the mass field in it. This is used whenever an overview of mass is required. However, it does require that the units in all part and assembly files are the same.
As you say, all parts/assemblies will need a mass custom property in order to populate the BOM column.
Using the solidworks bom table you can click the top column and change the display to any of your custom properties that you put into the parts. This will get you your report. Then you can save the bom out to excel if you need it. rember to save the bom as a template for the next project...
Then all you need to do then is get your bom to show an indented bom for the whole assembly and I think that you will have what your looking for.
If you need the combined mass, then you can use the mass property of the model linked to a note in the drawing