It sounds like what you are looking for is to turn off “split-tunneling.”
Generally speaking, when a VPN connection is established ALL traffic flows through the VPN. This means that internet bound traffic from Site B will flow through the VPN to Site A and egress out Site A’s internet connection. To the outside world it looks like the traffic is coming from Site A.
With Split-Tunneling turned on, only traffic of interest (i.e. private subnets between Site A and B) is sent through the VPN, while all other general internet traffic egresses Site B’s internet connection.
You can either tunnel all traffic through the VPN, or if the destinations that need a whitelist have static IP addresses, you can tunnel just those IP addresses through the VPN.
Depending on your VPN bandwidth, tunneling all traffic through the VPN may be quite a drag on your internet performance at Site B and cause a significant problem for your end users. In any case, VPN adds some overhead so it will always slow your network traffic a little.
There is no way for Site B to “assume” Site A’s IP address. That is not technically possible unless you are a large company capable of obtaining your own ASN address and controlling your own routing on the internet backbone, and even if you are, you cant have traffic destined to the same IP address reliably delivered to two different physical locations at the same time.