here lies to problem. as much as possible, I'd want to keep away from inheriting CustomControlA, for reasons allowing UserControlB to inherit one more base class.
is this possible to override CustomControlA.OverrideableMethod() given the scenario above?

UPDATE (based on the updated part of your question):
No its not possible to do the overriding(actually you are not even trying to do overriding) but you can do something like below. You should always call UserContorlB.OverrideableMethod() but make sure you have some condition based on which the proper method will be called.

It is possible under the following conditions, and btw you wouldn't be invoking CustomControlA.OverrideableMethod() from UserControlB. If UserControlB inherited CustomControlA then the method exists in UserControlB: