Getting a list of already linked access token is not avaiable as of now. if you want to manage it based on linked time, you can save in Storage service and maintain the counter of Linked Access token to give coins. About your second query, building a service instance is based on your app design that where you build it. You have created a Global instance or you are building it on specific method or you are building it on specific page to repeadly change value in app keys.
So its totaly based on your app design, if you could tell us that how you initializing the socal service, then we help you that you have to build it for second time or not.