\installlanguage[packed][en]
\setuplanguage[packed][spacing=packed]
\startsetups[tightspace]
\spaceskip 0.5\interwordspace plus .5\interwordstretch minus \interwordshrink
\stopsetups
\def\dostartbibitem[#1]{\startBibItem[title={#1},reference={#1}]}
\def\startbibitem{\dosingleempty\dostartbibitem}
\def\stopbibitem{\stopBibItem}
\definedescription[BibItem][
width=broad,
margin=1.5pc,
indenting={no},
indentnext=no,
alternative=hanging,
hang=1,
headcommand=\gobbleoneargument,
align=right,
before={\directsetup{tightspace}\bgroup\language[packed]},
after={\egroup},
]
\definereferenceformat [cite] [type=title,left={},right={}]
\definereferenceformat [bibpage] [type=page]
\starttext
\startbibitem[A, B, and C]\stopbibitem % TEST by commenting these
%\startbibitem[A{,} B{,} and C]\stopbibitem % lines out
\startbibitem[ABC]\stopbibitem
\startbibitem[A]\stopbibitem
\startbibitem[B]\stopbibitem
\startbibitem[C]\stopbibitem
* \cite[A, B, and C] \qquad{\red output should be: A{,} B{,} and C}
**\cite[ABC] \qquad{\red output should be: ABC}
***\cite[A], \cite[B], \cite[C] \qquad{\red output should be: A, B, C}
****\cite[A]\cite[B]\cite[C] \qquad{\red output should be: ABC}
\stoptext