OP hat es fast richtig gemacht. GROUP_CONCAT
sollte die Spalten in der Unterabfrage umschließen und nicht die vollständige Unterabfrage
(Ich lasse das Trennzeichen weg, weil das Komma der Standard ist):
SELECT i.*,
(SELECT GROUP_CONCAT(userid) FROM favourites f WHERE f.itemid = i.id) AS idlist
FROM items i
WHERE i.id = $someid
Dies führt zum gewünschten Ergebnis und bedeutet auch, dass die akzeptierte Antwort teilweise falsch ist, da Sie in einer Unterabfrage auf Variablen des äußeren Gültigkeitsbereichs zugreifen können.