Non-causal FIR filter in the feedback loop
Is there a way to make this filter non-causal?

Remember that non-causal filters aren't possible to interpret in any case, because &quot;non-causal&quot; literally means there's output caused by input that comes later.
Just because you can buffer something if latency doesn't matter doesn't mean you've actually built a non-causal system - your buffering adds delay back in that actually has to be at least as long as the anticausal part of your system.
So, no. This makes no sense. You'll have to make your H(z) causal (which isn't hard at all), and deal with the resulting group delay (which might be problematic).