You can certainly copy records from table A to table B through a number of different methods and you'd need to copy the record, then delete it, but I'd avoid that if possible and it doesn't look necessary here. You might set up a global field or global variable that serves to record the current user preference for whether to show active or inactive records (or whether or not to include the inactive records along with the active...)
Your user can then specify their preference in this field/variable and your scripts can check the value of this variable in order to perform a find with the correct criteria to be consistent with that stated user preference.
I would definately not start moving things from one table to another.
If you want to do this in list view or in a normal layout you will need to use finds. You can set a script trigger on the "On Layout Enter" event to perform a find of all active records. So that when you enter that layout only active records are shown.
You can create finds beforehand and make buttons for them. Like "Find all Male / Female.
Your find would look for all male or female, depending on the button, and would also include "active" in it's find request. So it would only show all male records that are active.
You could also create a button to show all Active / inactive.
Or you could create dropdowns to select sex (male / female) and active setting (active / inactive)
So you can make any kind of combination of finds.
If you want to do this in a portal you will need to define your relationships so that only the required records are shown.
You could make it so that you have a dropdown or a button you can select to show only male or female, active or inactive.
Whoops, My windows was open a while without refreshing. Didn't see your post PhilModJunk, mine says kind of the same.