Here is an improved version, that's justified except in the last line, with hanging indent except in the first line:
```
\documentclass{article}
\usepackage{multicol}
\usepackage[oldstyle]{kpfonts}
\newcommand\quackfill{%
\leavevmode
\quad
\cleaders
\hbox to .44em{\hss.\hss}%
\hskip 0.5cm plus 1fill\relax
\quad
\kern0pt\relax %<- protect the `\quad`
}
\NewDocumentCommand \quacklist { m m m }
{%
\par
\smallskip % <- change this to get different vertical spacing
\begingroup
\rightskip=0pt % <- flush on the right side
\parfillskip=0pt % <- also in the last line
\leftskip=1em plus 1fil % <- ragged on the left side with min 1em indent
\finalhyphendemerits=0 % <- hyphenating the penultimate line isn't bad
\noindent
\hskip-\leftskip % <- cancel out the leftskip on the first line
\textbf{\textsc{#1:}} \em#2\quackfill#3\par
\endgroup
}
\begin{document}
\section*{Basically raggedleft except the first and \texttt{\string\quackfill}ed
line}
\begin{multicols}{2}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abcdefghi}{a big cat and its big and fluffy tail a big cat and its
big and fluffy tail}{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
\quacklist{abcdefghi}{a big cat and its big and fluffy tail and a big fat
belly that calls for affection only when allowed by the majesty.}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
\end{multicols}
\section*{Basically justified except the last line}
\RenewDocumentCommand \quacklist { m m m }
{%
\par
\smallskip % <- change this to get different vertical spacing
\begingroup
\rightskip=0pt plus -1fil % <- cancel out leftskip stretch on all lines
\parfillskip=0pt plus 1fil % <- except the last one
\leftskip=1em plus 1fil % <- ragged on the left side with min 1em indent
\finalhyphendemerits=0 % <- hyphenating the penultimate line isn't bad
\parindent=-1em % <- cancel out the 1em indent leftskip on the first line
\textbf{\textsc{#1:}} \em#2\quackfill#3\par
\endgroup
}
\begin{multicols}{2}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abc}{a big cat}{1, 2, 3}
\quacklist{abcdefghi}{a big cat and its big and fluffy tail a big cat and its
big and fluffy tail}{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
\quacklist{abcdefghi}{a big cat and its big and fluffy tail and a big fat
belly that calls for affection only when allowed by the majesty.}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
\end{multicols}
\end{document}
```
