Can a transaction have a single 0-value OP_RETURN as its only output? My goal is to create a transaction that spends dust outputs to a miner. Since the goal is to reduce the UTXO set by consuming low value outputs, I do not want to create any new UTXO by actually sending Bitcoin to an address.

Is it valid to make a transaction with several inputs and only one single, zero value prunable OP RETURN output?
Yes. Such transactions are valid and standard.