Thank you for your reply. I had hoped that there was some way to set the style of ~ to be word-medial, but I guess that's not possible.
Just to give some background, these are classes of words where at least some native speakers interpret them as separate words--hence the fact that there's a space between them. But from a linguistic standpoint I'd argue that they are single words, and there are reasons in PT to treat them as such.
Anyway, a couple of follow-up questions regarding the idea of using U223c.
1) I remember at some point in the past, doing a find/replace with ~, that things didn't work as I expected and regular spaces got added in where I wasn't expecting. As far as you know, if I do a global change U007e --> U223c and then later change them all back, should it round-trip without any changes?
2) Can you think of any downsides if I just changed all 007e characters into 223c (and set up a changes.txt rule to keep doing that in the future), and then only changed them back at the time of publication (using another changes rule)?