WORKetc does everything you're asking for.
You can look up projects/sub projects/tasks/invoices etc by customer/company/contact/any tag really. Every project within that has sub projects (unlimited), project dependency, to-dos, milestones, gantt charts, client collaboration, document management, the works.
WORKetc will integrate with Outlook (and many other types as well). What separates WORKetc from many of its competition is its potential for work flow. WORKetc brings CRM, project management, and billing together into one platform so you can do everything you need to under one application. It's referred to as "complete business management."
The main problem with many other application is the fact that they only cover one area of business management, like CRM or project management. You would then have to jump between applications to get customer information, and these couldn't do what you're looking for. It is also important to note these don't integrate well at all. They're a real pain.
If you want more information in regards to features check out the comparison chart linked in my name. (feature by feature, WORKetc VS main competitors)