Users are able to add Non Operational Retired CIs to Impacted Services related list on Change request form. This is the out of the box behavior. But they should be adding only operational and non-retired CIs on change requests. But they should be able to view all the CIs in the cmdb_ci table.
All available releases
This is an out of the box behavior. An out of the box script include called AssociateCIToTask is responsible for the same.
This would need customization of an out of the box script includes record - AssociateCIToTask - in the platform. The add UI action is uses this script include to query against the cmdb_ci table. So you will need to add an encoded query to the script include to remove non-operational and retired entries in the table. Following is a sample snippet you can add to the script include to remove those entries.
If you are not familiar with how script includes work, please ask one of the developers from your organization to modify the same. Since this is a customization, we will not be able to help you to implement in the platform. Also please note that, the script includes is being used at other places too in the platform. So make sure you test out properly before committing this into production.