In reply to whwjez:
They remain independent parameters with independent values defined in separate scopes.
You would need to use a parameter override in the instantiation
B #(.ADDR_WIDTH(ADDR_WIDTH)) B_inst();
In that case 10 becomes the overriding value.