как же можно ответить если задача выражена нечетко ? )
А что тут "нечеткого"? Может только то что задача незнакома, как и "правельный ответ"?
UUID будет определять объект B, если в нем нет уникальных полей
Изменил B - новый UUID
Ну менять (редактировать поля B) можно как угодно, это ничего не меняет. Вариант с ID конечно напрашивается, но что делать если
1) Объект A копируется (конечно со всеми принадлежащими ему B). Причем всяко-разно, напр через clipboard
2) Файл расчетов применяется к др объекту A (возможно копии "оригинала", но может и нет).
Я понимаю что неизбежны случаи когда ссылка в файле становится невалидной. Это нормально, тогда код использования уже решит, продолжить ли работать без этой ссылки или выдать ошибку. Однако совершенно неясно, в плюс то ID или в минус