I'd say no. Portlets are supposed to be very view centric, and work in a service-oriented architecture. The API is actually very small and very simple, and maps back to the Servlet/JSP API at almost every turn. A PortletSession is very similart to an HttpSession. A PortletRequest is similar to a HttpServletRequest, and so on, and so on.
Do you want to write some Portlets, and maybe even test them. You can download the JetSpeed Portal Server and install it on tomcat. Then you can write and test your own portlets. JetSpeed is a great portal server.
Any good books? Well, I'd say mine are good, but I'm biased. lol. I've got a number of WebSphere Portal tutorials on my website which, based on my monthly bandwith costs, are very popular. Feel free to check them out!
You can get the PortletSession by calling the getPortletSession() on the ActionRequest object. Like the Servlet api this is also overloaded and the overloaded getPortletSession() method takes a boolean. So you can use either of these based on your requirements.