I've interviewed more than 80 software consulting companies while building my own solution, PMRobot, with very similar requirements to the ones you've listed above.
The most popular web-based tools for consultant developers are currently:
- Pivotal Tracker
- Microsoft Project
PMRobot has the concept of 'internal' tickets that are hidden from clients, but we don't allow a way to hide a developer ticket from another developer.
In just about any tool I know of, you'd need to break the project down into multiple sub-projects to have that sort of control.