Вы можете сгенерировать свой идентификатор в коде C # или в базе данных, для этого есть методы на обоих языках.
Лично я бы сгенерировал его в SQL с помощью определенной пользователем функции, таким образом, вы знаете, что для каждой вставки она генерируется сервером, и, по моему мнению, вы имеете хороший контроль над ней, с другой стороны, делая поэтому вам нужно извлечь его из кода, чтобы связать значение с вашей сущностью (при необходимости).
В качестве последнего примечания, лично я бы не использовал это поле в качестве первичного ключа для таблицы, я все равно использовал бы идентификацию int (автоинкремент), сгенерированную сервером как PK (назовем это просто ID, например), и я бы добавьте УНИКАЛЬНЫЙ НЕКЛАСТЕРНЫЙ ИНДЕКС к этому столбцу CustomerID, о котором вы упомянули.
взгляните на заполнение начальных нулевых методов для SQL Server здесь: http://www.sqlusa.com/bestpractices2005/padleadingzeros/