Is it possible to set a dynamic -minrelaytxfee? When I start bitcoind, I like to set a -minrelaytxfee to save bandwidth on transactions that will likely never make it in to the blockchain (because their fees are too low).

However, when the network is under low load, I would be happy to reduce the -minrelaytxfee so that my node receives more of the transactions on the network.

Is there any way I can dynamically change the minrelaytxfee whilst my node is running?
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.