Code:
    Sub Main()
        Dim Pfad As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
        Dim Datei1 As String = Pfad & "\Text1.txt", Datei2 As String = Pfad & "\text2.txt"

        Dim sw As New System.IO.StreamWriter(Pfad & "\NeueDatei.txt")
        sw.Write(DateiLesen(Datei1))
        sw.Write(ControlChars.CrLf)
        sw.Write(DateiLesen(Datei2))
        sw.Flush()
        sw.Close()
    End Sub

    Private Function DateiLesen(ByVal DateiPfad As String) As String
        Dim sr As New System.IO.StreamReader(DateiPfad)
        Dim Daten As String = sr.ReadToEnd()
        sr.Close()

        Return Daten
    End Function
Hab mal auf Basis dessen was ich aus der Frage interpretiert habe , mal eine kleine Funktion mit Aufrufbeispiel geschrieben , allerdings wusste ich nicht ob das ganze dynamisch sein soll , aber ich hoffe es ist das was du dir vorgestellt hast.

MfG