This isn't a complete answer but I might be able to point you in the right direction:
It seems like you have:
CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn)
So you're taking a CScript as a parameter. Some additional relevant links. I think you would either use that to create multiple outputs, or you would use
txNew[vout[1]];txNew.vout[1];
https://dev.visucore.com/bitcoin/doxygen/class_c_transaction.html (and follow the links to CTxIn/CTxOut from there
Also see how they do it here: