This solution changes the sorting scheme, and hence requires biber
as the backend.
\documentclass{article}
\usepackage[backend=biber,style=authoryear]{biblatex}
\usepackage{filecontents}
\renewbibmacro*{begentry}{%
\iffieldundef{shorthand}{}{%
\printfield{shorthand}\addspace =\addspace}}
\DeclareSortingScheme{nyt}{%
\sort{\field{presort}}
\sort[final]{\field{sortkey}}
\sort{%
\field{shorthand}
\name{sortname}\name{author}\name{editor}\name{translator}
\field{sorttitle}\field{title}}
\sort{\field{sortyear}\field{year}}
\sort{\field{sorttitle}\field{title}}
\sort{%
\field[padside=left,padwidth=4,padchar=0]{volume}
\literal{0000}}}
\begin{filecontents}{\jobname.bib}
@Article{bertram,
shorthand = {GrI},
author = {Bertram, Aaron and Wentworth, Richard},
title = {Gromov invariants for holomorphic maps on Riemann surfaces},
journaltitle = {J.~Amer. Math. Soc.},
volume = {9},
number = {2},
date = {1996},
pages = {529--571}}
@Article{gillies,
author = {Gillies, Alexander},
title = {Herder and the Preparation of Goethe's Idea of World Literature},
journaltitle = {Publications of the English Goethe Society},
volume = {9},
date = {1933},
pages = {46--67}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{bertram} and \cite{gillies}
\printbibliography
\end{document}
