I'm sure this is doable in LISP, but I don't know how much effort it would be for the gurus. I can set up a fairly simple dynamic block to do most of what you want for the single handrail (see attachment). The multi-upright is probably just as doable for a dynamic block expert. I'm not an expert; more of a dabbler at this point.
Handrail SAMPLE w Block.dwg
For the material, my approach would be to shorten the text and add a right-justified attribute for Mild or Stainless. Since it would be the same for all pcs, two of the attributes could just have fields that adjust to the one input for the first.