One of the more clever uses of EX that I've seen was in the Model204 database system. Originally written in the 1960s, it was EXTREMELY frugal in its memory use. It used common call-manager code to call and return from functions which would save/restore the only the registers that were modified by the called function. The registers used by a function were contained as constants in the function's header text. Using this information, the original call manager dynamically altered the register range in STM/LM instructions to effect saving/restoring only the registers needed. In the S/360, the performance of such self-modifying code was of little consequence. However, when S/370s introduced split instruction and data caches, the performance of frequent self-modifying code became abysmal.
The solution was to use EX to modify the register range in the STM/LM instructions, and performance was then acceptable.