You can't select nulls so a Select in Field action for field B won't work. But perhaps you can use a calculated dimension to achieve what you want. Mabye something like: if([field A] = 'PIPPO' and len(trim([field B]))=0, [field A]). And enable the option Suppress When Value Is Null for the calculated dimension.
Of course, a good practice is to replace nulls during the load with some value that can be selected. You can use the NullAsValue statement and NullValue variable. The two lines below would replace all nulls with the string 'Null' if you place them at the start of the script.
Set NullValue = 'Null';
NullAsValue * ;
I think Gysbert way it's perfect for you.
If you want to use a button you have only add a test of a variable.
Pushing on ButtonA you can set a variable vHide = 1.
Then you test the var.
if ($(vHide) = 1,
if([field A] = 'PIPPO' and len(trim([field B]))=0, [field A])
Use ButtonB to set your variable to 0.
Hope it helps