There is no constraint on module instances that they have unique names so it should not be relied on as a way to lookup a specific one.
I generally avoid any cross talk or dependencies across modules myself, but if I were trying to do a lookup of instances of a specific feature from another feature, I would create a module setting using a .ascx that implements ISettingControl, if it were to lookup WebStore instances then I would call it WebStoreStoreListSetting.ascx
Then internally I would use the known feature guid and the site id to populate a dropdown of store instances in the site. Again there is nothing preventing one from making 2 stores in a site with the same name (though I don't recommend it), so I might mange the module id into the label for each item in the list like moduleid - storename or storename - moduleid
I guess since you need the page id too you would mange the moduleid and page id into the value of the listitem maybe separated by ~ so the setting you would store is moduleid~pageid and you would parse them by spliting on the ~, you might also mange the page name in with the WebStore module name for the display text of the listitem.
Hope it helps,