I'm not sure if you get me right. Perhaps I haven't made myself clear enough, sorry. The =~ macro is what I'm going to use in my code, I don't think it should belong to the library. At least not until I test it in one of my projects. The actual modification I propose is the change in the read-form function so user would be able to supply their own reader to be executed during expansion of the $form --- in the same way as we supply readers to Lisp's read via set-macro-character. No change of CL-PPCRE is required in this case --- everything can be done on the user side.
I can suggest another solution though. We can declare the *read-form* special variable like this:
(defvar *read-form* #'read-form)
and replace the calls to read-form by funcalls to *read-form* in the inner-reader function. The user can then set this variable to the value they desire thus controlling the way cl-interpol expands $-forms. However, I think the former solution is more elegant.
Don't bother to answer soon. I'm also busy these days and probably won't be able to work with cl-interpol until the middle of January. Happy new year!