Google Earth has an event listener where you can pick on a feature which will then fire an event, is there something similar in Cesium?
Absolutely. There are some simple examples to help you get started here. These examples work directly at the Scene layer.
At a higher level, the CesiumViewer widget also supports callbacks when individual CZML objects are picked. We don’t have any examples for that specifically, but it’s trivial to do. Just set the widget.onObjectSelected property (or any of the other onObjectXXX callbacks) for the desired behavior.
Hope that helps.
How do I tell if the user clicks on the earth or on the background( skybox )?
Have a look at http://cesium.agi.com/Cesium/Apps/Sandcastle/index.html?src=Picking.html (The first button does what you want).
Essentially you call pickEllipsoid with xy screen coordinates, and if you get back a position, then xy is on the globe, otherwise it is not.