I need a micro controller with a USB slave and Host interface (i realise that is not on the Arduino) to act as a go between a PC USB port and a USB mass storage hard drive in both directions.
Although you can build such a device with a Leonardo (has USB slave capabilities) with a USB Host Shield (providing the host part), you probably won't get happy with it because the Arduino will be the bottleneck. It's running with 16MHz, todays USB storage devices operate at 480Mbit/s transfer rates, completely out of reach for an Arduino to only transfer it, don't talk about doing something intelligent with it.
Will need to sign an NDA for much more info as this project is already going for a patent
Don't expect help on this forum if every participant have to sign non-disclosures. If you're already going for a patent, why do you need such basic help?