As long as the parameters are the same (e.g., ring dimension, multiplicative depth), the ciphertext will have the same dimension regardless of the number of slots which are populated by non-zero values.
If your ring dimension and multiplicative depth, number of auxiliary moduli are already set to the minimum allowable values, then there isn’t much that can be done to reduce the ciphertext size in an arbitrary context. If some specific ciphertexts do not require all levels, you can remove some of the limbs; check LevelReduce and ModReduce (more care is needed for the FLEXIBLE modes How can i do levelreduce explicitly while using flexibleauto mode). If you want to minimize the communication, check Compress Reducing the size of a full-packed ciphertext and this thread How to reduce the size of ckks ciphertext?.