Is it possible to set a dynamic -minrelaytxfee?
No, there is no way to do that.

However you could make your mempool smaller and that would have a similar effect. The mempool has its own minmempoolfee. The in-practice minrelayfee is the maximum of the -minrelaytxfee and the minmempoolfee. The minmempoolfee will change when the mempool becomes full, and decreases when it has space. So if you set your -maxmempool to be much smaller, you would get a similar effect to changing -minrelaytxfee dynamically.