So... anyone have any ideas how to solve this?
I've thought about this before and I'm not sure if my idea is going to make any sense after typing it out, but here goes:
The geoscape screen is always going to be 320x200, and you already (obviously) have done the math to project the globe into screen coordinates. What I am thinking is do a projection with (0,0,0) rotation and then save a "mapping" of which lat/long gets drawn at each location in the 320x200 screen space. Then when the mouse interacts with it, you have the latitude and longitude as if the globe were at (0,0,0) and you can "rotate" the mouse click based on how the globe is being displayed.
Actually if you update the mapping every frame that you display then you don't even have to "rotate" the lat/long you get from the mouse interaction
edit: ummm I just read your OP again and are you converting to a sphere before you do any drawing? because maybe you can build the map i've described by doing the polar coordinate -> sphere -> screen pixel calculation for each pixel with a test program and then just make the mapping a struct
edit: haha I just read someone elses solution to your polygon problem and that solution is similar.. store meta-info for screen coords