Hi Mike,
The thing to understand is that view permissions are primarily determined by the Page view roles, ie if the user is not in an allowed view role for the page that has the feature instance then he cannot view it. A Module aka a feature instance also has a view roles but it is supplemental to the page view roles. If a module instance has empty string or "All Users" for the ViewRoles then it is determined entirely by the page view permissions. If the user is in a role to view the page but the module has a more restrictive viewroles that the user is not in then the module is not loaded on the page for that user. If the user is in an allowed view role for the module but not the page, then he still does not have access to the module. So page view roles are the primary security mechanism and module view permissions can only be used to further restrict access.
If your module control inherits from SiteModuleControl then it has an intrinsic property of the Module and you can get at the module view roles like this:
string moduleViewRoles = this.ModuleConfiguration.ViewRoles;
The current cms page (PageSettings) is also a property on SiteModuleControl for convenience, so you can get at page view roles like this:
string pageViewRoles = this.currentPage.AuthorizedRoles;
these strings will be semi colon separated role names.
As far as storing that info elsewhere keep in mind that it can be changed at any time and your other system would not be in sync.
Hope that helps,
Joe