For Point 1: You need CORS enabled for the service to be consumed if you want to make Ajax call from a sightly component.
For Point 2: If you are going to use WCMPojo, you should be taking cache and clear the responses and its tied to the component.
For Point 3: Create a common servlet to pass on the response code through HttpURL Connection to servlet response and read it through any component however you want it. Here again, you should be taking care of cache and clear the responses but the code is common and can be used in any component and externalize the URL you want to call in the servlet.
I will leave it to you on how you want to implement. I prefer option 3.