Первое, что приходит на ум, - это полностью разобраться в ViewModel. Вы можете прослушать CollectionChanged вашей ObservableCollection, если элемент добавлен, суммировать столбец B, а если сумма ниже 100%, добавить новый элемент в Observable-collection.
То же самое, если вы хотите поддержать редактирование существующих элементов в коллекции. Прослушайте событие PropertyChanged для элементов, и если столбец B изменяется, суммируйте столбец B и решите, нужен ли новый элемент.
Дайте мне знать, если вам нужен пример кода для этого.