So, you are describing a proxy object. Doing this for non-special methods is trivial in Python, you can use the __getattr__
In [1]: class A:
   ...:     def foo(self):
   ...:         return "A"
   ...:
In [2]: class B:
   ...:     def __init__(self, instance):
   ...:         self._instance = instance
   ...:     def special_method(self, *args, **kwargs):
   ...:         # do something special
   ...:         return 42
   ...:     def __getattr__(self, name):
   ...:         return getattr(self._instance, name)
   ...:
In [3]: a = A()
In [4]: b = B(a)
In [5]: b.foo()
Out[5]: 'A'
In [6]: b.special_method()
Out[6]: 42
However, there is one caveat here: this won't work with special methods because special methods skip this part of attribute resolution and are directly looked up on the class __dict__.
An alternative, you can simply add the method to all the classes you need. Something like:
def special_method(self, *args, **kwargs):
    # do something special
    return 42
for klass in [A, C, D, E, F]:
    klass.special_method = special_method
Of course, this would affect all instances of these classes (since you are simply dynamically adding a method to the class).
If you really need special methods, your best best would by to create a subclass, but you can do this dynamically with a simple helper function, e.g.:
def special_method(self, *args, **kwargs):
    # do something special
    return 42
_SPECIAL_MEMO = {}
def dynamic_mixin(klass, *init_args, **init_kwargs):
    if klass not in _SPECIAL_MEMO:
        child = type(f"{klass.__name__}Special", (klass,), {"special_method":special_method})
        _SPECIAL_MEMO[klass] = child
    return _SPECIAL_MEMO[klass](*init_args, **init_kwargs)
class Foo:
    def __init__(self, foo):
        self.foo = foo
    def __len__(self):
        return 88
    def bar(self):
        return self.foo*2
special_foo = dynamic_mixin(Foo, 10)
print("calling len", len(special_foo))
print("calling bar", special_foo.bar())
print("calling special method", special_foo.special_method())
The above script prints:
calling len 88
calling bar 20
calling special method 42