How do I give a role permission to set a site variable?
One method would be to use something like https://drupal.org/project/config_perms to add a custom permission to the admin/config/system/variable/edit/my_custom_variable path. You can then use this custom permission to grant access to it.