Plain TeX, just for a change (no e-TeX).
\def\PersonList{}
\def\Person#1{%
\expandafter\ifx\csname#1@Listed\endcsname\relax
\expandafter\let\csname#1@Listed\endcsname\empty
\expandafter\def\expandafter\PersonList\expandafter{\PersonList\doPerson{#1}}%
\fi
#1%
}
\def\doPerson#1{#1 was listed\par}
\Person{Alan} took a shower when
\Person{Batman} was cooking in the
\Person{Carlisle}'s house which lies 3 meter due east of
\Person{David}'s school or 4 meter due west of
\Person{Enrico}'s office.
\bigskip
\PersonList
\bye

And now a LaTeX3 version where \PersonList takes an optional argument for the function to execute for each person listed.
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\Person}{m}
{
\egreg_addperson:n { #1 }
}
\NewDocumentCommand{\PersonList}{O{\doPersonDefault}}
{
\egreg_listpersons:N #1
}
\NewDocumentCommand{\doPersonDefault}{m}
{
#1~was~listed\par
}
\seq_new:N \g_egreg_persons_seq
\cs_new_protected:Npn \egreg_addperson:n #1
{
\seq_if_in:NnF \g_egreg_persons_seq { #1 }
{
\seq_gput_right:Nn \g_egreg_persons_seq { #1 }
}
#1
}
\cs_new_protected:Npn \egreg_listpersons:N #1
{
\seq_map_function:NN \g_egreg_persons_seq #1
}
\ExplSyntaxOff
\newcommand{\doPerson}[1]{Yes, #1 was listed, what else?\par}
\begin{document}
\Person{Alan} took a shower when
\Person{Batman} was cooking in the
\Person{Carlisle}'s house which lies 3 meter due east of
\Person{David}'s school or 4 meter due west of
\Person{Enrico}'s office.
\bigskip
\PersonList
\bigskip
\PersonList[\doPerson]
\end{document}

Marco's comment: e.g. add\expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\PersonList\expandafter\expandafter\expandafter{\expandafter\PersonList\expandafter{\csname #1\endcsname}}to your\elseclause and\let\PersonList\emptybefore the defintion of\Person. Then\PersonListwill expand to{\Alan }{\Batman }{\Carlisle }{\David }{\Enrico }. You can use any utility able to do things with this (I put the braces because this utility might want to expand\PersonListfirst, and braces will stop it from expanding\Alanas well too early. – Nov 15 '13 at 20:11