A. Incorrect: Creating a new entity and copying the properties won't cause your entity to be loaded instead of the original, so your changes won't take effect in the front end.
B. Correct: Most elements can be modified by extension.
C. Incorrect: This option was in older versions but was deprecated because it's less supportable than extensions.
D. Incorrect: VendorInvoiceLineEntity is a locked system entity, so you couldn't do this if you tried.