It should be pretty easy. Set up the pages, forms, and workflow without email and then add the email capability at the end.
I would do it in the order you describe:
It will email the order to the outsourcer.
When they are done - I'd like them to be able to login, and upload that customer, their finished report (via email and attachment, or via uploading the file on my server and notifying the customer where it is via email <-- this would be preferred).
Let my outsourcer log in, and email a customer that's in my database, a report/file?
so start by allowing someone to create an account... once that is done make it so it emails the outsourcer... then create a way for the outsourcer to come back in to reply... on that page you will have a file upload and email.
Really the steps are to follow the steps that you want people to go through and make it work.