- How are headers and libs searched for / how can it be configured?
Does maybe some source file "hack" exist where you can specify custom defines and then include a header to extend search paths?
- How are conflicts normally resolved with Arduino if you have a base lib and two optional libs with conflicts between the optional libs? E.g. by manually configuring paths?
and everything is taken care of.
I don't know what you mean by "conflict". If there is a conflict in the code (such as a name collision), then you just need to fix the code.
When it picks the wrong one, you can sometimes do some things to influence the IDE to pick a different library. I can provide more information on that if it's the type of collision you're wondering about.