Very possible. CopyObject makes an exact copy, including inventory and scripts. You could set a local integer on the clone to cause it to be destroyed OnDamaged. That script will need to be on the original, too, but it will be harmless unless the local flag is set.
You can even clone a PC, as in the following example, in which the clone also attacks the PC:
Spoiler
location lAvatar = GetLocation(GetObjectByTag("WP_TronGrove"));
object oAvatar = CopyObject(oPC, lAvatar, OBJECT_INVALID, "TronAvatar");
ChangeToStandardFaction(oAvatar, STANDARD_FACTION_HOSTILE);
SetPlotFlag(oAvatar, FALSE);
AssignCommand(oAvatar, SetIsDestroyable(FALSE, FALSE, FALSE));
AssignCommand(oAvatar, bhRemoveRangedWeapons()); // Stops point-blank bug for some classes
AssignCommand(oAvatar, ActionEquipMostDamagingMelee());
AssignCommand(oAvatar, ActionEquipMostEffectiveArmor());
AssignCommand(oAvatar, DetermineCombatRound(oPC));
For an NPC, only the CopyObject line would be necessary, in most cases.