Вы можете включить исходный код из CL2 в качестве связанных файлов в проект CL1 и использовать его как способ избежать требования от пользователя включать несколько ссылок. На мой взгляд, это плохая идея.
Если ваш дизайн класса действительно требует, чтобы ваши классы были разделены между несколькими сборками, а CL1 должен ссылаться на CL2, тогда для пользователя вполне нормально ссылаться на несколько сборок - тем более что, как вы говорите, сборки служат разные цели.
Если пользователь использует только классы из CL1, ему не нужно добавлять несколько сборок в качестве ссылок. Однако, если CL1 ссылается на CL2, CL2 всегда будет копироваться вместе с CL1, даже если ссылка на CL2 не является явной.