I've managed to successfully implement NOT16, but I'm concerned about the redundancy of lines when using my previously built chips in HDL. I don't want to give away a possible implementation, so hopefully what I'm saying makes sense.
Anyway, when I try to subscript it to remove the redundancy, I get the error "Line 15, in(1) and in(16) have different bus widths."
The error is telling you that in for your Not chip is a single wire and that in for your Not16 chip is a 16-wire bus. Since you need to connect each of the 16 wires in the bus to an individual Not chip, you will need 16 Not chips in your Not16. A.5.3 shows how to select individual wires or groups of wires from a bus. There is no looping construct in HDL.