BC has a "workflow" system that allows you to move a "case" along a series of roles by "approving" each step to the next. Cases come through by submitting web forms - so this would be where your first step of the workflow would be initiated. Workflows process through email notifications to admin users.
I think I understand your workflow process, but am not entirely sure what it means when you go from client 1 to client 2...are you saying that an end-customer is a part of the workflow process? This part is a little more tricky to do with BC since your website users cannot approve a workflow step.
You can build as many steps into the workflow process. I recommend that you create a free trial of BC and experiment with Web Forms, Cases, and Workflows to see if you can work out the specific steps you are trying to achieve. Building prototypes with BC is one of the very enjoyable parts of the process since its so easy to build with. Doing a little work up front can save lots of time and tell you if BC is the right fit for your situation.
On the API side, you can work with BC's data - customers, cases, orders, and the filesystem are the main APIs.