I have one wallet controlling multiple masternodes.
Can I use this wallet for staking as well or do I need a separate wallet for staking?
You have to patch the client first so 112-inputs will be not collected for staking. I could write one, but I am focused on the new code base (which will eventually allow to stake on a masternode).