Ich skizzier Dir mal grob, wie eine Lösung aussehen könnte. Wenn Du Details brauchst, frag bitte nach. ;-)
Du müsstest für die betreffende Kategorie ein eigenes Template erstellen, entweder als category-x.php (yx = ID der Kategorie) oder als category.php für alle Kategorien. Als Vorlage nimmst Du die category.php oder, falls nicht vorhanden die archive.php (alles, was sich nicht auf Kategorien bezieht, kann da dann raus, die ewig lange if-else-Abfrage bei der Generierung der Überschrift meine ich). Dort bringst Du an geeigneter Stelle einen Link auf die gleiche Seite unter, welchem ein Parameter anhängt. Oben in der Seite fragst Du den Parameter ab, und je nachdem ob er da ist oder nicht baust Du dann die Ausgabe.
Wenn der Parameter da ist, modifizierst Du die DB-Query:
// change the loop query so that all entries are given alphabetically and with 50 entries per page
$posts = query_posts($query_string . '&orderby=title&order=asc&posts_per_page=50');
Das ist jetzt mal aus einem meiner Templates, wo ich die Titel aller Beiträge einer Kategorie alphabetisch sortiert ausgeben lasse. Ich habe es auf 50 gesetzt, aber Du kannst da auch 100 oder 150 hinschreiben. Wenn es mehr Einträge sind, solltest Du aber doch überlegen, die Ausgabe auf Seiten aufzuteilen. Obiges muss vor den Beginn des Loops, also vor "if (have_posts()".
Tja, und dann halt weiter unten entscheiden ob nur der Titel ausgegeben wird oder ganz normal der Beitragsteaser bzw. der ganze Beitrag.
Alternativ kannst Du auch mit zwei Kategorien arbeiten, so habe ich es bei mir gemacht. Du könntest zwei Kategorien A und B anlegen und die Einträge beiden Kategorien zuordnen. Statt des Parameters setzt Du dann einen Link auf die andere Kategorie. Bei mir taucht die Kategorie B nicht in der Navigation auf, aber das ist hauptsächlich so gelöst, weil einige Einträge aus A nicht in der B-Ansicht auftauchen sollen. Ansonsten ist es über einen Parameter vermutlich besser, auch wenn das dann ggf. nicht zu Änderungen der Permalinkstruktur kompatibel ist.