To separate renders per object, you need to do a separate render for each object. At the time of this writing (4.1), it's not possible to extract multiple object layers from a single render. However, the Render Layer node is designed to make this process easier by controlling which objects should be visible or hidden etc. in the current render. This means you can set up more than one Render Layer node in your project and then choose a different Render Layer node for each render that you do.
Once you understand this, the general way we choose objects is through object groups, which are set up in the node network view. We move objects or populations into a group in the network view. Then in the Render Layer you select groups rather than individual objects (although in future I'd like to make it work with objects as well).
Terrain, clouds and atmosphere are considered part of the planet, so in some case you need to move the planet node into its own group. But often these things can be considered "everything else" and don't need be put into a group.