You can modify external references and redefine block definitions from within the current drawing by using in-place reference editing.
The program considers both blocks and xrefs as references.
While editing a reference in place, you can copy objects from other blocks of the host drawing to the xref, or to the block drawing, using AMREFCOPY.
When you finish editing a block reference, use AMREFCLOSE to save changes to the edited block, assign a new base point, and save the edited block under a new name. Also use AMREFCLOSE to save changes and assign a new base point to the edited xref.