This is the amended Normalized Transaction ID BIP previously discussed on the mailing list. Since the discussion on the mailing list there have been some major changes, for one the BIP changed from requiring a hard-fork to a much easier soft-fork (thanks sipa for helping me figure out how).
The normalized transaction IDs are computed on a stripped version of the transaction, in which all the malleable parts, i.e., the signatures, where removed. This solves malleability in a simple and clean way.
Unlike the original proposal, this version does not use the normalized transaction IDs on a network level, instead they are used solely when signing and checking signatures. Normalized transactions are swapped in on-demand when using a new opcode OP_CHECKSIGEX and are tracked in the UTXO, no longer requiring lookups by normalized transaction ID.
In order to give clear semantics when to track the normalized transaction IDs and anchoring them without recursively computing the IDs of previous transactions down to the coinbases, the version is bumped to 2. Version 2 outputs may be referenced using the normalized transaction IDs, while nothing changes for version 1 transactions.
There is a working implementation of this BIP in my normtx branch.