hyperref muss an verschiedenen Stellen in LaTeX eingreifen, um die entsprechenden Informationen unterzubringen. Das ist leider nicht transparent möglich. Da Du die Links ohnehin alle versteckst, dem Leser also ohnehin nicht bewusst ist, dass er irgendwo klicken kann, kannst Du hyperref einfach weglassen:
\documentclass[11pt, a4paper, twoside, openright,chapterprefix]{scrbook}
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß},
}
\usepackage{algorithmic}
\usepackage{algorithm}
\begin{document}
\begin{algorithm}[H]
\caption{ein Algorithmus}
\begin{algorithmic}[1]
\REQUIRE bla
\ENSURE blubb
\IF{a}
\WHILE{b}
\STATE ein Befehl, der exakt zwei Zeilen lang ist bbbbbbbbbbbbb bbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaabc
\STATE tu was
\ENDWHILE
\ENDIF
\end{algorithmic}
\end{algorithm}
\end{document}
Wenn Du doch einmal ein Dokument mit Links, die der Anwender auch erkennt, erstellen willst, dann musst Du ggf. unerwünschte Leerzeichen durch Zeilenenden in Algorithmen auskommentieren:
\documentclass[11pt, a4paper, twoside, openright,chapterprefix]{scrbook}
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß},
}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage[pdfborderstyle={/S/U/W 1}]{hyperref}
\begin{document}
\begin{algorithm}[H]
\caption{ein Algorithmus}
\begin{algorithmic}[1]
\REQUIRE bla
\ENSURE blubb
\IF{a}
\WHILE{b}
\STATE ein Befehl, der exakt zwei Zeilen lang ist bbbbbbbbbbbbb bbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaabc%
\STATE tu was
\ENDWHILE
\ENDIF
\end{algorithmic}
\end{algorithm}
\end{document}
Übrigens passt der Stil von Algorithmen mit algorithm nicht gut zum Stil der Gleitumgebungen von scrbook. Ich würde mir daher überlegen, ob es nicht besser wäre, eine entsprechende Gleitumgebung oder nicht gleitende Umgebung mit KOMA-Script zu definieren und stattdessen zu verwenden, beispielsweise:
\documentclass[11pt, a4paper, twoside, openright,headings=chapterprefix]{scrbook}
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß},
}
\usepackage[ngerman]{babel}
\usepackage{algorithmic}
\usepackage[pdfborderstyle={/S/U/W 1}]{hyperref}
\DeclareNewTOC[
counterwithin=chapter,
float,
listname={Verzeichnis der Algorithmen},
name={Algorithmus},
type=algorithm
]{alg}
\usepackage{blindtext}
\begin{document}
\tableofcontents
\listofalgorithms
\chapter{Test}
\blindtext
\begin{flushleft}
\captionaboveof{algorithm}{ein Algorithmus}\nopagebreak
\begin{algorithmic}[1]
\REQUIRE bla
\ENSURE blubb
\IF{a}
\WHILE{b}
\STATE ein Befehl, der exakt zwei Zeilen lang ist bbbbbbbbbbbbb bbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaabc%
\STATE tu was
\ENDWHILE
\ENDIF
\end{algorithmic}
\end{flushleft}
\end{document}
Wobei sich das Problem in diesem Beispiel bereits durch Verwendung der flushleft-Umgebung gelöst hat. Algorithmen im Blocksatz zu setzen, fand ich nicht der Weisheit letzter Schluss.
BTW: Ich habe auch gleich die veraltete Option entsprechend der zugehörigen Warnung korrigiert. Solltest Du auch machen und künftig auf solche Warnungen achten!