Ciao,
premetto che quel javascript scritto in quel modo lo trovo veramente ridondante, per non dire orripilante. La funzione ready ripetuta così non ha molto senso e sicuramente il bind click per ogni option può essere riassunto con un unico change.

Ad ogni modo il campo di testo viene nascosto al caricamento della pagina semplicemente perché glielo dici nella prima riga:
codice:
$(".group1").hide();
Basterebbe eliminare questa riga per risolvere ma personalmente riscriverei il tutto cercando di ottimizzarlo.

Un esempio pratico:
codice:
<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript">
    $(document).ready(function() {
      $("#tuoSelect").change(function(event) {
        if ($(this).find("option:selected").attr("id") == "group1") $(".group1").show("normal");
        else $(".group1").hide("normal");
      });
    });
  </script>
</head>
<body>
  <select id="tuoSelect">
    <option value="Bonifico Bancario" id="group5">Bonifico Bancario
    <option value="Assegno Circolare" id="group4">Assegno Circolare
    <option value="Assegno di Libretto" id="group3">Assegno di Libretto
    <option value="Contanti" id="group2">Contanti
    <option value="Altro" selected id="group1">Altro
  </select>
  <input class="group1" name="tipopagamento" type="text" maxlength="35" value="prova"/>
</body>
</html>