I am not completely clear what you are trying to do, i.e., is selecting random points still part of the effort or just finding closet points from selected points? Anyhow ArcMap has the Generate Near Table—Help | Documentation
So for example, there are 50 point features in one area. From those 50 points I need to randomly select 20 of them. I can do that with the python script that I linked but I want to assign a minimum distance when getting the random sample.
I want to assign a minimum distance when getting the random sample.
Are you meaning a minimum distance between selected points? If so, it is more complex because it isn't really random anymore. You have to select each random point in sequence making sure it is at least a certain distance from all previously selected points.