The hash of the transaction already serves as ID_2 as far as I remember.
It includes signature bytes.
No. Here is the method getHash from Transaction.java (version 0.6.2):
...
}
It's hash, not id.
Edit: It's another hash.
I don't have the orignal source, but the method pushBlock checks for duplicate hash and throws an exception if it finds a duplicate hash, so I guess it kind of serves as second transaction id.