TestRail doesn’t support such a conditional custom field like what you have described. However, based on your use case I would say why not make another template for archiving a test case? This template can contain all custom fields so that no data is lost, then have a “archival reason” field which is set to ‘Required’.
Another approach that we’ve seen teams use is to create a Archived test case section and move the test case into that section.
Keeping in mind that if you have completed a test run/plan, closing this would retain any test/test case information. Even if the original test case is changed or deleted. Therefore if you are archiving the test case to retain the configuration at that time, there is no need if you are closing completed test runs/plans.