Roles are global concept and supersede projects, groups and users.
They are applicable to all projects hence you should not have to select projects to go along with it.
If you want per project fine grained control then you introduce Time to SLA field permission role which can be configured globally via system --> project roles or left empty and configured per project. ( see for example tempo project manager as well as Tempo Permissions since you are expanding the permission handling in TTS as in who can see the Time To SLA dropdown menu so you need to replace field permissions with TTS permissions and have all permission configuration handled there )
Obviously this implementation does not scale to thousand of projects where administrator would have to create equal amount of field permissions to grant access and currently you cant even add more the one group or role to field permissions.
The field permissions should just contain. Logged in, Anonymous, User ( multiselect field as in you can select user a, user b, user c etc ), Group ( multiselect field as in you can select group a, group b, group c etc ), Role ( multiselect field as in you can select project role a, project role b, project role c etc ),