OK for the developers/interested among you, here's a diff vs 864 of what I have so far. The crashes are fixed - the entire inventory is held with the morphed player until the unmorph occurs. If you compile this, the following features become available:
PlayerPawn property
Face - used instead of STF, must be three chars alphanumeric
MorphProjectile property
MorphTime - time of morph effect in TICS
MorphProjectile property
MorphStyle - effect behaviour;
RAVEN is the default if not specified; max health limited to 30 once it falls below that. General weirdy behvaiour if you're not a chicken or pig. Other value is
CURSE; max health taken from morphed player pawn. This is incomplete, though; the idea is that eventually CURSE will imply well-defined behaviour as to health, inventory keepability/usability etc; I just haven't defined them yet

It might even be better as the default except for the egg/porkie, see
this thread for discussion.
PowerMorph class for use with PowerupGiver class.
Existing
Powerup property
Duration used for time of morph effect in TICS
New
Powerup property
PlayerClass used for player class to morph to. The internal MorphStyle
POWER is implied - like
CURSE, but no specific limit on health; i.e., and all properties taken from the morphed player class (eventually).
Note that the morph styles are deliberately not available across all morph items; that would need a fair bit of discussion before allowing it; note that you could still make cursed morph booby traps by creating an item that looks like a cool power-up, but spawns a monster that immediately attacks the player with a morph projectile; a sort of trojan horse.
I still need to make the mugshot code not crash if the faces aren't available, eg, if ww-lizardhud used in HeXen by mistake (just display nothing) - just need to find the time to do it. It also needs a P_MorphPlayer() overload that suppresses the teleflash and sound for later use; e.g., an ALLOWMORPHFLASH flag or something like that.
Comments? Suggestions?