I think this type of option would only apply to stopped or expired actions, so policy actions that are still open would not be removed.
The challenge with this idea is that it doesn’t align with how the console and Web Reports function today. The reason actions need to be deleted is so they are not loaded into the memory session that feeds the console/WR (which adds to load time, update time, and resource consumption the larger the session is). Hidden content is still loaded into the session, so you can click that button and quickly see the difference. If they weren’t in the session, then you probably would not like the time it took to view these “hidden” actions. And in order to continue reporting on them, they have to be in the WR session, but not in the console session. Not insurmountable challenges, but something that complicates the architecture noticeably.
In the interim, we did add Audit Log entries for action deletions in 9.5.11, so you can more easily identify actions that were deleted. With the action ID from that audit message, you can easily restore the actions using the ‘undelete_action’ stored procedure, if further details are needed.