You can achieve this relatively straightforwardly using render layers and the compositor. Here's the result I was able to get. It looks much better over a black or grey background than white.
With lots of simplification to the node setup it's easy to mask out just the reflection.
Set up two layers in your scene. The first layer will be your main render, and the second layer will be used to mask out the reflections. Make instanced duplicates of all of the scene objects (Alt+D) and move these duplicates to the second layer. Keeping all of the duplicates selected, change the material properties to be linked to object instead of to data and copy that setting to the other selected scene objects using the context menu. Add a new material to the active duplicate and set it up to be Emission, white, strength 1. Link this material to the other scene objects (Ctrl+L, Materials) so that they're all emissive. At this point the first layer should look something like this:
And your second layer should look something like this:
Next, make a reflection plane and put a copy of it on each layer. It can be instanced if you wish. This is the material I used for the reflection plane:
It's set up to show a glossy surface to the camera and to be invisible otherwise. This prevents it from affecting the rest of the scene's rendering. Of course, if you want some other behavior, you should feel free to make it happen.
Now that the scene is set up, it's time to set up the render layers. There are two, one for each layer in the scene.
The first layer is set up to be a beauty render. It excludes the second layer and uses the environment IBL to get a good final render. I've enabled the glossy indirect pass as well, although I suspect it might not be necessary for your use case.
The second layer is set up to mask the scene and its reflection, and it's set up to exclude the first layer. It's limited to ten samples because all of the shaders in the layer resolve quickly, so it's cheap to render. I've enabled an emission output that produces a mask for the scene and a glossy direct and glossy color output that produces a mask for the reflection. Make sure to turn Use Environment off, otherwise you'll see the reflection of the world in the reflection plane which isn't helpful.
In the composite, you can get the mask for the scene with the Emit output of the reflection mask layer.
You can get the mask for the reflection by multiplying glossy direct contribution by glossy color. Just glossy direct is close, but isn't antialiased in some areas.
You can get a mask of the scene and the reflection together by enabling and using the combined pass for the mask layer.
From here you can use that mask to get an image of just the reflection:
Or, something more complex like the original render plus the reflection with the reflection mask multiplied by the value of the reflection.
The setup also works pretty robustly with curved reflecting surfaces. Here's a monkey, which I used the glossy indirect pass to get the color of since I didn't want the direct specular highlights it was picking up.