You can do like this:
\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}
\newlength{\myColWidth}
\setlength{\myColWidth}{4em}
\newlength{\myColSep}
\setlength{\myColSep}{1em}
% A comma is appended if, and only if \widthof{#1} >= \myColWidth-\myColSep.
% The second column always starts at \myColWidth from the left margin. In
% other words, \myColSep is internal to the first column.
\newenvironment{conceptEntry}[1]{%
\smallskip\par\noindent
\hangindent=\myColWidth\hangafter=1\relax
\setbox0=\hbox{#1}%
\ifdim\wd0<\dimexpr \myColWidth-\myColSep \relax
\hbox to \myColWidth{\box0\hfil}%
\else
\setbox0=\hbox{\box0, }%
\ifdim\wd0<\myColWidth
\hbox to \myColWidth{\box0\hfil}%
\else
\box0\relax
\fi
\fi
\ignorespaces
}{%
\par
\ignorespacesafterend
}
\newcommand*{\showCommaThreshold}{%
\par\noindent
\begingroup
\color{blue}%
\rule{\dimexpr \myColWidth-\myColSep\relax}{1pt}%
\endgroup
}
\begin{document}
The entry text (\emph{Lorem ipsum} here) starts precisely at
\verb|\myColWidth| from the left margin. In blue, we show the tunable
threshold for the entry key width, after which a comma is appended (its value
is \verb|\myColWidth-\myColSep|):
\showCommaThreshold
\begin{conceptEntry}{Short}
\lipsum[1][1-4]
\end{conceptEntry}
\showCommaThreshold
\begin{conceptEntry}{Longe.}
\lipsum[1][1-4]
\end{conceptEntry}
\showCommaThreshold
\begin{conceptEntry}{Longer}
\lipsum[1][1-4]
\end{conceptEntry}
\begin{conceptEntry}{Even longer}
\lipsum[1][1-4]
\end{conceptEntry}
\end{document}

For the dotted line you seem to want to add afterwards, I would try to get inspiration from \@dottedtocline (a LaTeX macro used to typeset “dotted lines” table of contents entries—see source2e.pdf). The essential idea is to reserve space to the right of the paragraph using \rightskip, except that this space can be occupied by the last line of the paragraph (which ends with dots and the page or whatever number). This is what the following setup:
\rightskip \@tocrmarg \parfillskip -\rightskip
ensures in the definition of \@dottedtocline, where \@tocrmarg is the
right margin indentation for all but last line of multiple-line entries
(quote from source2e.pdf).
enumitem, but would it really handle the conditional appending of the comma? – frougon May 18 '19 at 13:38