You can select "[Project]" as the data source for a BOM output, which will then assemble BOM data using all schematic sheets in the project. If you have only one sheet in the project then that's equivalent to selecting the schematic sheet as the data source. That selection is saved as part of the outjob, along with the selected template etc. You may have to initially configure the outjob manually, but you can then save that outjob as part of a project template, and then any project created from the template will automatically include a copy of that outjob file. I don't know if you can create a project from a template in a script, but if not then presumably you could use the script to add the outjob directly. (Note that files can be included from outside of the project directory, so it should also be possible to have only one copy of that outjob referenced by all projects. Occasionally Altium gets screwy and will use the wrong project as the data source if multiple projects that use the same outjob are open at the same time, I don't know if this would be a problem when scripting.)
I've also been using Altium for wire assemblies, but I tend to do one project for an entire set (product's worth) of wiring, and do BOMs, drawings, etc all at once. I'd be curious about the application and workflow that got you to where you are. I think we're going to be moving to Solidworks Electrical or something else better suited, though, mainly because Altium doesn't support multiple referential views to the same design objects, which makes doing multiple views (details, assembly steps, etc) a big pain, and it just plain blows as a drafting tool. Integration with our existing Solidworks mechanical design workflow would just be a bonus at that point.