There's usually a difference between USB Master controllers and USB Slave controllers.
The low-end (MCF51) chips usually have the Slave type so you can make devices that can act as a USB Slave to a PC.
The higher end ones have the Master controllers so you can plug USB devices into them.
The MCF5329 we're using has two USB controllers on it. It looks like it should be able to do what you want. Check the MCF532x and MCF537x pages. All of those chips have two USB controllers.
These ones don't have internal FLASH. You have to attach external FLASH to them, and external RAM as well if you need more than 32k of it. If by "Microcontroller" you mean internal FLASH, then this isn't your chip.
It might be cheaper and easier (simpler PCB) to use two single-USB microcontrollers and link them via SPI or some other bus.
The i.MX chips are even more "heavyweight". They're very powerful, extremely complicated (over 5000 page Reference Manual, and that doesn't include the CPU which needs multiple manuals), need external DDR3 RAM and NAND FLASH, and if you're not running Linux on them you're unlikely to be able to get them to do anything.
Tom