и нулю вне этой окрестности.
ну не буквально же
этой. Более широкой.
Да, так можно. Но можно обойтись и без теоремы Вейерштрасса (которая не так уж и тривиальна). Вот прямая конструкция.
Пусть

-- бесконечно дифференцируемая финитная функция (а для простоты ещё и положительная и с носителем

), интеграл от которой равен ровно единице (тоже для простоты). Пусть

и

, где

рационально. Тогда множество всех линейных комбинаций функций

с рациональными коэффициентами счётно. И сколь угодно точно приближает равномерно любую основную функцию.
Или другой вариант этой же идеи -- более простой, но чуть длиннее оформляемый, поэтому на словах. Любую основную функцию можно приблизить кусочно-линейными с рациональными координатами вершин (просто из-за её равномерной непрерывности). Множество таких кусочно-линейных функций счётно. Правда, они не гладки; но их легко сгладить свёртками с вот теми самыми функциями

. При этом не теряется ни счётность множества, ни его плотность (ибо последовательность свёрток стремится к сворачиваемой непрерывной функции равномерно).