I too would love some software to do this, even better that its free.
However I do not think it's going to happen any time soon - here is why.
Yes you can use some CAD software, library objects (blocks) for the PLC's, relays, modules etc. and drag them into a design to do the circuit diagram, even the same for placement within a specified panel
of which you can draw standard size enclosures, their chassis plates, clearances etc. ready for you to add the items however things like this are often more bespoke, the customer rarely wants the same - they always want to add this or that, not pay for xx module as they will not use it so you have to remove it from the design.
Your software needs to be able to cater for all this, and when it does YAY, the day after someone will come along and ask for something that it will not cater for.
Back to the drawing board.
1) For calculations use a attribute field etc. on the blocks you bring into the design, run a report that lists them all and sums them up. (probably wont work- just use a calculator).
2) As mentioned above, an AutoCad type program (there are many) that allows you to make blocks\symbols\parts etc. to add into your designs.
3) The above program ought to be able to identify the size of a box drawn around your symbols, this you fit into a standard box size or you have to design your own.
4) Let me know if you get a free parametric capable CAD package.
5) Most programs that can output a report can usually enable you to create a BOM.
I am looking at "PCschematic Automation 40" as it allows free use upto a certain amount, however I cannot get my head around making symbols in it yet (not spent enough time) so cannot evaluate if its what I want, as I want to do similar tasks in recording the electrical and sometimes mechanical layout of some similar designs.
I may just end up doing it all in CADSTAR (A PCB design program) because I know that thoroughly, once I planned the tiling on my bathroom using it down to the picture tiles, half tiles etc. (looked good when finished
)
That however is not free.
Please keep us informed what you find in the end.