Well I don't understand your question as much, but from the title of the question I could answer you that.
You want to join 3 tables and choose 2 columns of table2, 1 column from table3
$collection is the resource model collection of the table 1.
['table2' => $collection->getTable('table2')],
'main_table.id = table2.custom_id',
'table2_id' => 'table2.id',
'table2_custom_id' => 'table2.custom_id'
['table3' => $collection->getTable('table3')],
'table2.id = table3.id',
'table3_custom_field' => 'table3.custom_field'