Hi Martin,
Answer Q1 - No you don't have to. It's optional. Only thing to remember is that not to add Web Page Access Control Rules for special pages (root (/), login, access denied, page not found, and error page). If you do, the portal will break.
Answer Q2 - Actually, you don't even need the Entity Form. You can directly add Custom JavaScript to the Web Page itself. If you open the web page record and scroll down, there's the "Advanced" tab. There are two areas where you can add custom JavaScript and CSS.
Other thing to mention is the use of Liquid. You can use Liquid statements inside the Copy (HTML) field of the web page. This may be useful in figuring out if the user is logged in or not.
{% if user.fullname == 'Dave Bowman' %}
Hello, Dave.
{% endif %}
community.adxstudio.com/.../liquid-templates
Unfortunately, there's no simpler way that I know of.