After some pondering, I don't think I'll succeed in hacking natbib internals. As an alternative, you could switch to biblatex. In the following example, I have disabled sorting, combined the numeric-comp citestyle with the authoryear bibstyle, added a label to this bibstyle and changed some other settings to mimic the natbib output. (This may need further tweaking.)
\documentclass{article}
\usepackage[sorting=none,citestyle=numeric-comp,bibstyle=authoryear]{biblatex}
\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{%
\printfield{prefixnumber}%
\printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}
\renewbibmacro{in:}{%
\ifentrytype{article}{}{%
\printtext{\bibstring{in}\intitlepunct}}}
\renewcommand*{\newunitpunct}{\addcomma\space}
% The following hack only works for some values of the "mergedate" option
\renewbibmacro*{date+extrayear}{%
\iffieldundef{year}{%
}{%
\addcomma\space
\printtext{\printdateextra}%
}%
}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Bli74,
author = {Blinder, Alan S.},
year = {1974},
title = {The economics of brushing teeth},
journaltitle = {Journal of Political Economy},
volume = {82},
number = {4},
pages = {887--891},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\textcite{Bli74}
\printbibliography
\end{document}
\bibliographystyledo you use, and what (if any)natbibpackage options? – lockstep Aug 30 '11 at 11:21