Hi,
1.A. I'm not sure what you mean by "avoid". If you don't want to "see" it, you can just hide it with a bit of CSS. Or maybe you're talking about being able to checkout without registering ? In that case, you can set the "Registration" setting to "guest" in the HikaShop configuration. Or maybe you want the customer to be able to choose between login, registering and guest checkout ? In that case, you can change the "Display method for registration" setting to "switcher" and select both "guest" and "registration" in the "registration" setting.
1.B. A loadmoduleid tag can only work inside content, like a Joomla article or a product description. That's how the plugin handling that tag is done. If you want a plugin which can add a module anywhere including the checkout, you want to use "modules anywhere" instead:
www.regularlabs.com/extensions/modulesanywhere
However, it might still not work. It depends on how the login module is done.
2. No. However, you could do that easily with the Login view.
At the beginning of the show_block_login.php view file, you have that code:
if(!empty($this->options['current_login']) && empty($this->mainUser->guest) && empty($this->ajax))
return;
And you can add after it:
echo '<a href="https://mywebsite.com/link/to/login/form">Please login first</a>';
return;
3. In your shipping and payment methods, use the "access level" setting to not allow unregistered users to use them. That way, no shipping method and no payment method will be found before the third step and thus you won't see them on your first cart view.