It sounds like you need to customize the out of the box process template that comes with TFS.
To be honest I think everyone should customize the templates to make sure they get the tools to fit their process, not change their process to fit the tools.
I'm not sure if you're aware of some of the customization options that are available so I'll just mention some of the ones I've used when customizing TFS for my company.
You can edit any work item type that comes out of the box in the process template.
There are lots of customizations you can perform, for example, in my company we only wanted people in the test group to be able to close bugs, so we put that constraint on all transitions to the closed state.
You can add transitions, states, fields, tabs etc. as required.
If you want a new work item you can create a new one from blank or base one on an existing work item type, to create a new one from an existing type, export the work item type, edit the xml to change the name to your new type and then import it.
The concerns you have about relationship between the different work item types should be addressed by creating custom link types and then including them in your new template.
It seems like you have a good sense of the process you want to follow, I think you need to customize TFS to match that process.
The one drawback about performing this much customization is that the standard reports won't provide you with much useful info. This will require your team to write some new reports. You can also do some nice reporting in excel if that would meet your needs.
HTH