How do you regenerate all 2-of-2 multisig addresses from two xPrivkeys? If I want to get the private and public keys of all transactions that have happened on my multisig wallet. How would I do that? 

It's a 2-of-2 multisig setup. I have an xPrivkey on my computer and an xPrivkey on my phone. 
How do I combine these keys to generate the list of private keys and the corresponding list of public keys. 

The purpose would be to redeem my BCH.
Trying to generate all possible combinations would probably go on forever. I would suggest you figure out what the derivation path used on you BCH wallet was (will probably be /m/44'/145'/0') and then loop through different combinations to generate different multisig addresses.

How come you only have the xPrivkeys and not the mnemonic words? 

If you had the mnemonic words I would suggest recreating the wallet on the same wallet app by importing your seeds and the wallet should scan addresses associated with those keys.