Может ли сайт обращаться напрямую к БД 1С или лучше, чтобы сайт работал со своей базой и синхронизировал её с базой 1С?
Смотрите на web-сервисы 1С, теперь появились http-сервисы
Добрый день,
Как вариант могу предложить следующую схему
1. Поднимается промежуточный сервер с СУБД (например MySQL)
2. Пишется обработка для 1С которая в определенные интервалы (раз в день или каждый час) будет выгружать в эту базу данные о клиентах, их статусы и пр. При этом после выгрузки в базу MySQL в 1С карточке клиента устанавливается флаг - выгружено. При любых движениях в 1С этот флаг должен сбрасываться (чтобы каждый раз не выгружать всю базу). Т.е. после полной выгрузки будут выгружаться только изменения. Также эта обработка делает SELECT из базы MySQL тех записей которые тоже имеют флаг "К выгрузке", чтобы изменить внутренние данные в 1С. 
3. Ваше приложение будет общаться только с базой MySQL - это будет на порядок быстрее и безопаснее + можно сделать кеширование + можно сделать что-то типа API (чтобы было еще безопаснее)
Успехов!