You can do that by making a smart contract that the payee can only pull X amount from on certain block intervals, and the payer can deposit and withdraw from a often as they like. It would essentially be a checking account.
Also re: auto converting tokens - you can jusr make a service to do that, it doesn't have to be a smart contract. A smart contract probably could be used with a DEX though, but I think that may be needlessly complex.