It can be done with Python, but I don't know if I understand the end result you are looking for. Your way of describing what you want is very confusing. Here is what I think you want:
1. For any given point in A (shape) find the distance to the closest point in B along with the point B ObjectID (Attributes).
2. Sort the points in A by the distance to B in descending order so that the furthest distance point in A is at the top of the list.
Is that correct? Or perhaps rule 1 should be : For any given point in A find the distance to the furthest point in B along with the Point B ObjectID.
This assumes you want the point shape from A and just the attributes from B. But your description could mean that you want the to keep the point shape in B and attribute it with the distance and ObjectID of a point in A. Or do you want a table with the coordinates of both points that meet your rule 1 so that you could make an XY point layer based on either the location in A or the location in B?
So basically at the end should there be 9000 records (one for each point in A) or 500 records (one for each point in B).