Currently, the Edit Encounter page allows a single provider. It needs to support multiple providers, each with a role.
This should be displayed as a table whose first column is the encounter role, and whose second column is the provider's name. You should be able to add new rows, and remove rows.
(I believe it would fit with the current UI of that page for the provider table to be a second section, and have adding and removing providers do an immediate submit or save-via-ajax. You could also implement this by having them be part of the first section, and saved via the same Save button, but this probably tougher to implement.)
To display the provider's name (when loading the page) add functionality to the <openmrs:format> tag to support a provider attribute.