Can a smart contract create and control a proxy account? If yes, how can I create a proxy account for a contract and how can I send transactions from my contract on behalf of my contract's proxy account?
No, smart contracts don't have keys and can't sign messages. They have an account id, but they're not able to act as a signed origin. AFAIK the only easy way you can do that is through a pallet, such as the proxy pallet.