Пишется раздельно: сон снов (в значении "лучший из снов").
Слитное/раздельное написание выражений такого рода зависит от их грамматического статуса: наречия пишутся слитно, а существительные с предлогом — раздельно. При этом грамматический статус должен быть прояснен контекстом, должен соответствовать, в частности, нормативному управлению глагола и т. п. Ср.: глядеть (куда?) вдаль — всматриваться (во что?) в даль; перевернуть (как?) набок — положить (на что?) на бок тарелки.
В словосочетаниях пол Московской области, пол чайной ложки слово пол является существительным, образованным с помощью усечения от слова половина. В предложении существительное пол используется в им. и вин. падеже, может являться подлежащим или дополнением.
В словах пол-лимона, пол-Москвы, пол-августа, полметра и т. п., вне зависимости от типа написания, компонент пол- является усеченной основой слова половина. Это сложные существительные.
Правильно с одной Н.
Разницы в значении нет, различие только стилистическое. Предлог про вносит разговорный оттенок.
Корректно: рассказал тысяче клиентов. Слово тысяча управляет существительным, требуя его постановки в форме родительного падежа множественного числа, иначе говоря — грамматически ведёт себя как существительное, а не как числительное, сравним: рассказал тысяче клиентов — рассказал ста клиентам. Подробнее см. учебник Е. И. Литневской на нашем портале.
Сочетания с пол- форм родительного падежа существительных пишутся слитно, если эти формы начинаются с согласной буквы, кроме л, поэтому верно: полкарася, полпалочки колбасы, но: пол-ложки соли, пол-апельсина; пол столовой ложки соли (часть пол относится не к слову, а к словосочетанию столовой ложки).
Лаконичное выражение до конца года может получить двоякое толкование, о чем и свидетельствует Ваш вопрос. Избежать смысловой неопределенности можно только одним способом: дополнить выражение теми словами, какие точно выразят нужную мысль.