Let's have three BU's root BU, let's cal it BU_A and two other BU's that are child of BU_A, let's call them BU_A1 and BU_A2.
You can define service or option group in BU_A. Then you can inherit that service or option group and make it available in its child BU's BU_A1 and BU_A2. Every change that is being made to the service or option group on the parent BU is applied to the inherited items as long as you don't touch the inherited ones. When you modify anything in the inherited service or option group, then you loose the ability to modify service in one place.
I would like to propose change in the following manner. If I have inherited service or option group then make it available to do some changes in the definition without breaking inheritance. E.g. define different price of the option in the child BU without loosing inheritance.
It might be something like in the parent you define that certain parameter will be defined in the inherited BU's.