Sync smart group to WordPress role, group, or capability
I would move to using groups and not roles for permissioning because it gives you more flexibility. People can be in multiple groups then.

There is the CiviCRM Groups Sync which syncs a regular CiviCRM group to a WP group. So that may be an option by auto-adding members to the CiviCRM group and creating their WP user at the form-level. 

The other option is to improve the plugin by having it sync smart groups.