OP casi lo hizo bien. GROUP_CONCAT
debería envolver las columnas en la subconsulta y no la subconsulta completa
(Estoy descartando el separador porque la coma es la predeterminada):
SELECT i.*,
(SELECT GROUP_CONCAT(userid) FROM favourites f WHERE f.itemid = i.id) AS idlist
FROM items i
WHERE i.id = $someid
Esto producirá el resultado deseado y también significa que la respuesta aceptada es parcialmente incorrecta, ya que puede acceder a variables de ámbito externo en una subconsulta.