1) wxDockIt's fault.
2) You can go to %CodeBlocks%/share/CodeBlocks/compiler_gcc.zip and in compiler_toolbar.xrc or compiler_toolbar_16x16.xrc modify
<object class="wxComboBox" name="idToolTarget">
<content/>
<size>-1,-1</size>
<style>wxCB_READONLY</style>
</object>
to something more reasonable:
<object class="wxComboBox" name="idToolTarget">
<content/>
<size>100,-1</size>
<style>wxCB_READONLY</style>
</object>
I agree that the default is too wide.
3) This should be addressed. Submit a bug report/feature request.
4) This would requiere a real C++ parser.