Can a bitcoin exchange recover coins sent to a previous address used on said exchange? In my case, I withdrew from my exchange account from wallet ABC (if I look up the trx on block explorer, it says it came from public key ABC). A few weeks later I went to deposit more money into my exchange account, however I accidentally sent the bitcoin to wallet ABC instead of the nominated 'deposit address' on my account.

I'm freaking out that my coins may be lost. Would the exchange be able to sweep this wallet and credit it to my correct account?
Yes, it would be possible because they hold the private keys for that address. You will need to contact the exchanges customer support. However while they may be technically able to do so, they may not actually credit your account.