Yes you need to pick what you want to destroy, if you don't pick, it will destroy that which is already picked, i.e. the target that was involved in the collision. You got this right now.
Not sure what you mean by picking a third object under a collision event, in a subevent. If you mean an object of a type that wasn't involved in a collision (e.g. "bullet" and "target" collided, and you want to pick "flower"), that IS possible, just tell the System->Pick all what to pick, or filter by that directly, i.e.
event: bullet on collision with target
event action: save coordinates to some local variables like in my post above
subevent: flower->[...compare X and Y like in my post above...]
subevent action->flower.destroy
This should destroy all flowers around the collision, and not destroy the target or the bullet.