Is there a way to inject another button into the layerdocker?

Yes, you can subclass it:

But it’s hard work indeed, you have to recreate the entire structure in Python and use hacks to display all information about the layer state like whether it’s visible and locked because that data can’t be accessed directly from the API.