(4) Возможно.
Берется CVS, и базовая версия (типовая) заливается в главный ствол (он же HEAD)
Вариации заливаются в так называемые "ветки" - по ветке на каждого клиента.
После того, как произошло изменение типовой - для каждой ветки делаешь cvs update, получив, таким образом, обновленную исправленную типовую. Собираешь ее gcomp'ом, ну и все, собственно.
Там есть пара подводных камней (типа конфликтов идентификаторов), и на то чтобы разобраться с ними нужно потратить некоторое время. Однако граждане на
http://1c.realnet.ru реально работают именно по этой схеме.