If you have a separate Market, you can create a catalog with a pricelist for this market and add these products with discounted prices there.
This way everybody will see normal prices, but Swiss market will see discounted prices.
This can be done with Flow – loop over your products, find those stored at warehouse B and add a pricelist entry for them.
Then you’d probably need to monitor inventories and as soon as product is sold out at Warehouse B, remove the relevant entry from pricelist so that Swiss market can continue buying this product from main warehouse at normal price.
Again, can be done with Flow.
When warehouse B is closed, simply remove pricelist from the Swiss market (or it will already be empty because of the inventory monitoring flow).