You can do this in the application. You can create a column with a status to indicate that the row is disabled and does not show anywhere. Or you can use an existing column to specify this. Obviously, if you don’t have any data that can be used as a criterion to decide what to show or not, there is no way.
You can also make a view, but the accesses would have to access the view, access outside it, access the data you do not want (you can prohibit access outside it).
In theory you could use a conditional index (partial/filtered), but again, you would have to access it to consider the filter, so one way is that all indexes are like this.
Normally this should be planned in the solution as a whole. That is to say, has no automatic way to solve this.
I imagine you need to keep this data to ensure referential integrity, so any solution to move the data elsewhere doesn’t solve.
True, a view is a great option
– Ricardo Pontual