Here is a proof of concept, but using an auxiliary file in this way is very dangerous, because an error might ruin the previous copy and the order of the notes would be lost. So a routine that backs up the .notes file must be run at the end of the LaTeX job.
\documentclass{article}
\makeatletter
\newwrite\jjdbout
\newcounter{jjdbnotes}
\def\countnotes#1#2{\stepcounter{jjdbnotes}}
\def\savenote#1#2{%
\expandafter\gdef\csname #1\endcsname{#2}%
\addnote{#1}{#2}%
}
\makeatletter
\def\addnote#1#2{%
\toks@=\expandafter{\jjdbnotes}%
\xdef\jjdbnotes{\the\toks@^^J%
\noexpand\jjdbnote{#1}{#2}}%
}
\makeatother
\let\jjdbnote\countnotes
\InputIfFileExists{\jobname.notes}{}{}
\let\jjdbnote\savenote
\gdef\jjdbnotes{} % initialize
\InputIfFileExists{\jobname.notes}{}{}
\newcommand{\mynote}[1]{%
\par
\ifcsname\pdfmdfivesum{#1}\endcsname
\textbf{Note \csname\pdfmdfivesum{#1}\endcsname: }#1%
\else
\stepcounter{jjdbnotes}%
\expandafter\addnote{\pdfmdfivesum{#1}}{\thejjdbnotes}%
\textbf{Note \thejjdbnotes: }#1%
\fi
}
\AtEndDocument{
\immediate\openout\jjdbout=\jobname.notes
\immediate\write\jjdbout{\unexpanded\expandafter{\jjdbnotes}}
}
\begin{document}
\mynote{Some note I've added first},
\mynote{A fourth note},
\mynote{A second note},
\mynote{A fifth note},
\mynote{A third note}.
\end{document}
The .notes file is read twice; the first one for counting the entries and the second one to assign a meaning to the lines.
Each note is stored as its MD5 checksum, which should be uniquely associated to the text. Of course, if a note text gets changed, the ordering will be lost again.
So to each checksum the note number is assigned. If during a run we find a new note, it will be added to the \jjdbnotes macro, whose contents will be written out to the .notes file at the end of the job. Note that TeX cannot append lines to an existing file.
The shown output has been obtained by uncommenting the lines one by one according to the stated order.

A better approach would be to have the notes stored in a separate file notes.tex say in the form
\makeatletter
\newcommand{\savenote}[2]{\@namedef{jjdb@note#2}{#1}}
\newcommand{\mynote}[1]{\@nameuse{jjdb@note#1}}
\makeatother
\savenote{Some note I've added first}{1}
\savenote{A second note}{2}
\savenote{A third note}{3}
\savenote{A fourth note}{4}
\savenote{A fifth note}{5}
and do \input{notes} in the preamble. Then in the document you can use
\mynote{1},
\mynote{4},
\mynote{2},
\mynote{5},
\mynote{3}.
In this way you simply add the notes sequentially.