The code you posted above is running per fragment. So you dont need to run a loop. The concept of points at this point is already project and converted to pixels. The code above should color the fragments that are within the radius of your force field. This means a point itself could have half its surface area colored as _Tint and half as original Color input.color if it is on the threshold of radius.
You could move the above code to Vertex Shader instead and adjust the out.color there to selection color or normal color. The vertex shader runs 6 times per points, so you dont need a loop there either.
So there are two ways to achieve what you want, either you decide every frame if a point should be colored as selection, and change its color accordingly in the vertex or fragment shader (as the code above is already doing), or you set it up in the compute shader and actually save which points were colored. The first method has the issue that the color/ your selection is not saved anywhere, so it if you move _ForceField, your selection will move with you and the previeusly selected points are not buffered.
If you do it in compute shader, you could either permanently change the color for the selected stuff, or have another vertex attribute which has selection color in it.
The second method is a bit complicated. It will be a bit more work to setup.