To have 2 sets of spheres, where they collide with members of the opposite set but not the same one, I don’t think there’s an efficient way to do it without a bit of custom goal scripting.
This example is similar, though would need some adapting:
Seeing your file and the images in this thread, I’m not convinced this is actually what you need though, it may be that something curve based is much better, but it’s impossible to say without a bit more context. What is it you actually want to do?