Hi,
Most definitely do a 301 redirect because it will keep most of your link juice and it will let the search engine know that the page/site has moved. As long as the page is redirected to a relevant logical page you will be fine... no matter how many 301s you do. However if the page does not make sense to redirect do not redirect instead you can display a 404 page (splash page) etc...
From the user end they will be redirected to the new page. If the origin of the redirect is the old domain (site B) try to change it, or edit it so it has the new location/anchor.