There are multiple providers of public recursive resolvers. At least one of those has some configurable filtering of DNS queries. However the specific provider I know of has taken the questionable move to filter certain domains by default, and for that reasons I wouldn't recommend using that particular provider.
But there are technical challenges in what you are asking for, which a provider cannot eliminate, so you need to understand what the limitations are and what that means to what you can expect.
The DNS protocol does not include any information to identify the individual users of the service. This leaves client and server IP addresses as the only way to distinguish users.
If the provider uses client IP addresses for this purpose, they will run into lots of shortcomings. Clients may have dynamic IP addresses or possibly connect through a NAT. Additionally they will have trouble verifying that the customer really owns all the IP addresses they say they own. This is not just a problem to resolve once two customers claim to own the same IP space, because the service may very well support unregistered users as well.
The alternative is to allocate different server IP addresses to each customer. This does not suffer from the same shortcomings. Because once a server IP has been allocated to one customer, the provider can do whatever that customer wants with requests sent to that IP without affecting other users, because no other user will send legitimate requests to that IP.
However there is a shortage of IPv4 addresses. With IPv4 a typical anycast prefix has 256 addresses. From this the provider might need to reserve four addresses for network address, gateway address, broadcast address, and server address for users without dedicated server address. This leaves 252 other IPv4 addresses, they could allocate for specific customers. So if you would be one of that provider's 252 largest customers, chances are they would be willing to sell such a service to you, otherwise you'll probably have to deal with the problems caused by using client IP to identify you.
If you decide to go IPv6 this is much less of a problem. I don't know what a typical anycast prefix length is on IPv6, but surely it is somewhere between 32 and 64 bits, which means there will be more than 18 trillion server addresses to chose from, which is more than enough to allocate one for each customer.