You can set a expire date in Customer->Order-> Misc Customer Info tab.
However, we do not really have one way to expire a customer in the application, so even if you enter an expired date in the Order tab, you can still create manual or instant invoices against the customer.
For the invoicing scenario, we have a separate Inactive Date in the Customer->Invoice->General Tab, the date after which it will not be possible to enter or create new invoices for the customer.
But for Business Opportunities, we have no way of expiring or making a customer inactive. When creating opportunities, system allows to create without considering Expiry date set in Customer\Order tab. It will only restrict it getting processed further. That is creating customer order or sales quotation from it.
In Projects, you can create a project for a customer that is expired and inactive in both Order and Invoice tabs, so we basically do not have a way to completely inactivating a customer.
You can also refer the below community post on “Hide Customers from List of Values”,