Sure you can. You can just stuff a word in an hbox and read back what size it ended up:
\begin{document}
\neverindent
\nofolios
\font[filename=/usr/share/fonts/OTF/LibertinusSerif-Regular.otf]
\begin{script}
local words = {
"--",
"oo",
"ff",
"jj",
"fj"
}
for _, word in ipairs(words) do
local box = SILE.call("hbox", {}, { word })
SU.debug("words", box)
end
\end{script}
\end{document}
Run with:
$ sile -b debug -d words mwe.sil
You can of course query the resulting box object for the specific properties you want at that point from Lua.
However I don't think this is the best tool for the job. You should probably work directly with a shaper, not a typesetter. For example you can get this information much more directly from Harfbuzz itself like this:
$ hb-shape --show-extents /usr/share/fonts/OTF/LibertinusSerif-Regular.otf "fj"