I guess it is not possible then? i.e. there is no relationship between prev_out hash and any of the out hashes?
Somebody who knows the source better than I can correct, but it looks like the output for "change" is inserted at a random position in the transaction. See
CWallet::CreateTransaction(), wallet.c:969. So, there shouldn't be any deterministic clues.