This isn't automated, but you didn't say it had to be (8^b)
What I did was define length \tmplength equal to the line-skip length inside the table (11pt), and used \raisebox{-n\tmplength}{number} to place "number" n-multiples of 11pt below the top line. The manual part of this solution is that you have to count lines of reference "text", to know how many multiples of \tmplength the number needs moving.
In the case of the middle row, it needed to move down 2\tmplength to get to subrow 3, whereas in the 3rd row, 5\tmplength was required to get it to the 6th subrow.
Thanks to David for bypassing the extra package and going straight to the \raisebox.
EDIT, I provide a secondary alternative way that avoids counting rows, but it requires that the 3rd row not be type X, but type p with a specified width. It also accomplishes the 2nd column as an \llap which is certainly not preferable nor standard.
\documentclass{article}
\usepackage{tabularx}
\newlength{\tmplength}
\begin{document}
Using X column in 3rd column
\begin{table}[ht]
\begin{center}
\def\stacktype{L}
\tmplength=11pt
\renewcommand{\arraystretch}{1.3}
\begin{tabularx}{\textwidth}{crX}
\hline
\textbf{Chapter} & & \textbf{Reference} \\
\hline \\ \vspace{-11mm} \\
1 & \small{a} & \small{text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text} \\
\\ \vspace{-12mm} \\ \hline \\ \vspace{-12mm} \\
\raisebox{-2\tmplength}{2} & \small{b} & \small{text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text} \\
\\ \vspace{-12mm} \\ \hline \\ \vspace{-12mm} \\
\raisebox{-5\tmplength}{3} & \small{c} & \small{text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text text text text text} \\
\\ \vspace{-12mm} \\ \hline \\ \vspace{-12mm} \\
\end{tabularx}
\end{center}
\end{table}
Alternate way, avoids counting, but must specify text-column width
\begin{table}[ht]
\begin{center}
\def\stacktype{L}
\tmplength=11pt
\renewcommand{\arraystretch}{1.3}
\begin{tabularx}{\textwidth}{cXp{3.64in}}
\hline
\textbf{Chapter} & & \textbf{Reference} \\
\hline \\ \vspace{-11mm} \\
1 & ~ & \parbox[t]{3.64in}{\strut\small\llap{a\hspace{0.4cm}}%
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text\strut} \\
\hline
2 & ~ & \parbox[c]{3.64in}{\strut\small\llap{b\hspace{0.4cm}}%
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text\strut} \\[-0.4mm]
\hline
3 & ~ & \parbox[b]{3.64in}{\strut\small\llap{c\hspace{0.4cm}}%
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text\strut} \\[-1mm]
\hline
\end{tabularx}
\end{center}
\end{table}
\end{document}

tabularxcolumn and be top-aligned with the text?; and (2) the "text" column must be a fill-all-available-width type, rather than fixed-width? – Steven B. Segletes Apr 01 '14 at 11:17