I haven't finished and submitted the assignment yet but here is what I think.
1. J2EE client can talk directly with the EJB tier so you do not have to talk to the web tier and do all sores of request/response manipulation. This improves response time. Please note that standalone Java client can also talk to teh EJB tier but you will have to hand code some stuff.
2.If you use J2EE client (vs the Java client), it uses the built in security, JNDI access and other good stuff in the J2EE for accessing the EJB tier. Also, the RMI-IIOP communication is taken care of by the J2EE client container.
3.I don't know the answer to 3.
4.Why do you want to do Applet Servlet communication? I don't remember the exact requirements but it just talks about having secured communication using SSL and I believe RMI-IIOP can be used over SSL. No need for HTTPS.
Also, if you do want to do HTTPS, can't you do it using URLConnection?
5. I don't know what to say on this one. I can book a ticket for myself using some jazzy UI on a website but when i go to a travel agent, they use the command line system to talk to SABRE servers.
Please let me know your views too.