Proving an encrypted message contains (but does not 100% consist of) a plain-text message? I have keypair (u,r), and two pieces of data, X and Y.

I reveal X publicly but keep Y secret. Y has high entropy.

I then concatenate X and Y, into Z.

I encrypt Z, into "encrypt(Z,u) = Q". r is needed to decrypt Q back into Z.

Later, (when it doesn't matter), r will be revealed and everyone will decrypt Q into Z. At that point, everyone will know that, all along, Q "contained" X. Can I prove that Q contains X before r is revealed (including interactive zero-knowledge proofs)?
A fundamental theorem of cryptography (Goldreich, Micali and Wigderson 1986) states that any NP statement can be proven in zero knowledge. So, the answer is yes. For any polynomial-time combination of $X$ and $Y$ into $Z$, it is possible to prove that $Q$ contains $X$ in zero knowledge. 

Note that the general zero knowledge will not be practically efficient since it requires a Karp reduction. However, depending on the combination and the public-key scheme, it may be possible to do this very efficiently. El Gamal specifically is very amenable to efficient zero knowledge, but it depends on the combination you mean.