Is it possible to directly manipulate geometry generated in Grasshopper? Normally, to interact with such geometry, we have to bake it in the Rhino document first. However, by doing so, we end up 'breaking' the definition. Here is a simple example showing how points generated by Grasshopper can be directly picked. No baking required.
The definition itself is organized in 3 groups. The first sub-graph creates a list of points that lie on a referenced surface. .The second sub-graph contains a custom Python—PyPick—component that allows users to pick those surface points. The final sub-graph simply creates spheres centred on the picked points. The concept is to run a custom GetPoint command in the Rhino document. when the toggle to PyPick is switched on. The component's script is based on the Pick Points in a Conduit sample on the McNeel wiki. Only points can be picked at the moment, but the script can be extended to include other types of geometry.
If you want to examine how the script in PyPick works, the above definition can be downloaded here.