Basically, all the assignments are created when the workflow is started. However, if an item goes back to an Activity, like via reject, the possible activity assignments are pulled again so yes, it is possible to see 2 sets of B assignments with one set being closed and the other pending, etc.