I have a slightly different need to disable redistribution in a diff scenario. ie: BGP over a S2S tunnel and I want to stop redistribution if a specific IP is down.
I tried faking it by adding a static route to the host x.x.x.x/32 with a monitor ping option enabled.
I setup 2 monitors, one for a live IP and one for a dead IP internally. If I switched to the dead ip I could see the route being removed from the kernel table.
I then setup BGP to redistribute this static route, but now the ping monitoring no longer worked. The route remained in the table permanently. As if redistributing it "stuck" it in place or made it ignore the ping monitor. To the point that if I did a show ip-reachability it marked the ip I KNOW FOR A FACT IS DEAD/DOES NOT EXIST as available.