I'd like all my customers to log in to their B2B sites from my main website.

If you are hoping to set up a universal login where all of your customers go to one dedicated place to log into their individual sites.  You have two options for this:

◦ If you check the appropriate box on your site settings, your regular /login page becomes universal. The "lost password" and "create account" links disappear.  This setting is found in Sites > [site name] > Settings > General Info tab in the "Site Basics" section.  It is a setting labeled "Use Universal login page."
For more information on where to locate & use Universal login please refer to the chapter Ch. 030. Site Basics

◦ If you create a page on your retail site and add ###UNIVERSAL_LOGIN### to the html content of this page, then that page will  include a universal login form. This lets you have more control over the appearance of the login page.  You could add a link to this login page on the homepage of your retail site.

In either case, when a user attempts to log in on a universal login form, it will check the account against all sites owned by the same subscriber; if multiple matches are found with same account and password, it will let the user choose from a drop down. Once a site is chosen (or if only one site matched), the username and password are stored in Application memory and the browser is then redirected to that site and login happens normally and automatically on that site.