si puedes hacer joins con el openquery, pero no seria optimo..ya que te traerias toda la tabla desde db2 para compararla contra tu base en sql server...(a menos que sepas que siempre traera pocos registros tu openquery)
lo mejor seria construir la cadena y ejecutarla...
Saludos!!