In JSF, you don't actually often write Controller logic in the strict MVC sense. Most of JSF's controllers are pre-supplied in the FacesServlet and the JSF tags. The action methods are really more business methods than controllers.
It's perfectly legal to reference more than one backing bean (Model object) in a JSF View, and there's no reason why you couldn't have some be pure Model objects and others be pure Logic objects. It's generally not done that way in common practice. One of the big complaints that people what about
Struts was that it took too many files to do things, so, if anything, we tend to be the opposite in JSF. Still, there are some cases where a segregated architecture is useful, especially if you are attempting to use an externally-supplied POJO directly as a backing bean.
It's often awkward to use a POJO directly as a Model, however, so a lot of backing beans are façades for POJOs that add JSF model characteristics and action processors to the mix.
One thing you will discover quickly in JSF, however, is that Request scope is usually more trouble than it's worth. That's because data "evaporates" when postbacks are done.