Your best bet is to just change the company you are in in code during your process.
Gist of it is,
Get your Data
Check if the company you are in matches the one you need to get
If it doesn’t
Modify the company in your Session
Instanciate the Adapter
Make the Changes
Put the Company back in the session and repeat
There are ways to do this on the server side too via creating a Temporary company Session like this
This would run on a BAQ or a UBAQ
using (CallContext.Current.TemporarySessionCreator.SetCompanyID(childCompanyID).Create())
{
}