I'm thinking about storing packed integers $(x_1,x_2,...,x_k)$ into a single ciphertext slot using the Chinese Remainder Theorem (CRT). However, in order for the CRT to work, the plaintext modulus would have to be a product of prime values (the same prime values used in the CRT). So I ask, does the plaintext modulus have to be prime in BGV?
BGV can be set up with arbitrary moduli, as far as I know (BFV can, and BGV is just a different encoding). However, as you observed correctly, to make use of the CRT you would need pairwise coprime factors, which implies that the selection of a $2^k$ modulus (which is very natural to a computer) is bad in terms of CRT packing concerning the modulus. Nevertheless, there is also a packing available using CRT on the quotient ring itself, which is an independent thing.