Is it at all possible to use a CQL_FILTER on a WMS service in ArcGIS? Ideally we'd be able to programatically change the CQL_FILTER parameter in the WMS URL.
No. The list of valid parameters is here.
CQL_filter is a geotools "vendor parameter". Vendor parameters are options that are not defined in the official WMS specification, but are allowed by it. The danger in using it is that no client is obligated to use it, or even to acknowlege that it exists.
ArcGIS does expose a query interface using a web form, but I don't think this is going to help you.