You could do this with triggers.
Detect when a player begins training the elite unit and limit it's training to 0. If they cancel the training then set it's limit to 1.
Create a second dummy version of the elite unit in the Object Editor, this one will have no gold cost/lumber cost and it's build time will act as it's revive time.
This dummy unit will be limited to 0 by default and become available when your elite unit dies.
Detect when a player begins training the dummy unit and limit it's training to 0. If they cancel the training then set it's limit to 1.
Once finished training, replace the dummy unit with the real elite unit.
Cons:
No scaling revive time/revive cost.
No instant revive at tavern.
Doesn't track items carried (could use a Hashtable/Hiding items to do this)