Hi Daniel,
I hope that management structure in your requirements is in sync with hierarchy structure of Cost center Dimension.
User A will have to change Work status to something like "Submitted" for his Manager to be able to move it forward.
It looks like users A and B should have same capabilities according to your requirements. In that case if user A will set status to "In progress" user B will be able to set it back and change the value. So, I don't think that standard functionality of Work status will satisfy your requirements.
Yes, Work status has a BADI in Standard model, but I'm not sure if it's being called when you work with Embedded model. BADI name is UJW_LOCKOUT_SCHEDULE_BADI and it has a sample implementation Class.
Hope this helps.
Gersh