You can redefine ffap-file-finder. This is normally set to find-file, which doesn't do env variable expansion. So define a function like find-file that does do env variable expansion:
(defun find-file-env (fname)
(find-file (substitute-in-file-name fname)))
and assign it to ffap-file-finder:
(setq ffap-file-finder #'find-file-env)
An interesting question. It's not configurable at all, so I recommend looking at pcomplete-insert-entry. This is where the completed text is inserted, and it's what calls comint-quote-filename. Note that it handles some fun edge cases that you'll also have to handle. In particular, if there's already a backslash in the buffer then it handles the insertion a ...