Is an email address required for a user to create an account on a B2B site?

You can make the email address optional.  If you check the box "Require User Name for Self Signup."  This setting is found in Sites > [site name] > Settings > General tab in the "Site Basics" section.  Checking this box will make the Email optional on the site.  Once you turn this one, if you go to Sites > [site name] > User Management > Profile Fields, you will see that the email field becomes editable.  You can then set it as optional by clicking the pencil icon next to the Email field.  You can then uncheck the required setting.  Note that if the user doesn't supply an email address, the user will be required to provide a username.