I'm very curious where this came up. In any case, the answer to the first question is yes, it does distinguish these trefoils; you found the minimal representatives.
Let $a_0,\dots,a_{N-1}$ be the roots of unity that are visited along the knot, in (cyclic) order. Suppose we have a minimal representative for some non-trivial knot. Then we cannot have $|a_k - a_{k+1}| = 1$ for any $k$, as otherwise we could replace this pair $a_k, a_{k+1}$ by a single root of unity (for $N-1$), adjusting the other roots of unity as appropriate. A little more subtly, we cannot have $|a_{k-1} - a_{k+1}| = 1$ either, as then we could again delete $a_k$ from the sequence to get a smaller representation. With these simple constraints, the smallest possible sequence for a non-trivial knot is the one you found for one of the trefoils with $N=7$. There are several possibilities for $N=8$, including the one you found for the other trefoil. I've included a very short Haskell program below that computes this. The possibilities for $N=8$ are $$ (2,7,5,3,1,6,4,0)\quad (2,5,7,3,1,6,4,0)\quad (3,6,1,4,7,2,5,0)\quad (2,6,4,1,7,3,5,0) $$ $$ (3,1,6,4,2,7,5,0)\quad (2,4,6,1,3,7,5,0)\quad (3,5,1,7,4,2,6,0)\quad (4,2,7,5,1,3,6,0) $$ $$ (3,1,5,7,2,4,6,0)\quad (5,3,1,6,4,2,7,0)\quad (2,4,6,1,3,5,7,0) $$
For the second question, I have never heard of this representation before.
Here is the code, for anyone interested.
-- A (partial) circular stick representation is a list of integers,
-- the order of the roots of unity to visit in order
type CircStick = [Int]
-- The next element ak after a partial representation a1, ..., a{k-1}
-- must satisfy
-- (a) ak has not already been seen
-- (b) |ak - a{k-1}| > 1
-- (c) |ak - a{k-2}| > 1
-- There are a few more "easy" constraint, eg the first and last entries
-- cannot differ by one. We do not impose those constraint here.
nexts :: Int -> CircStick -> [Int]
nexts n [] = [0]
nexts n [a1] = filter (\a -> abs (a-a1) > 1) [0..n-1]
nexts n (a1:a2:as) =
filter (\a -> not (elem a as)) $
filter (\a -> abs (a-a1) > 1) $
filter (\a -> abs (a-a2) > 1) $
[1..n-1]
completions :: Int -> CircStick -> [CircStick]
completions n as | length as >= n = [as]
completions n as =
concat [completions n (a:as) | a <- nexts n as]
-- Impose final constraints:
-- (a) Last entry cannot be 1
-- (b) Take entry that is lexicographically less than its reverse
-- (c) first and next-to-last entries cannot differ by one
circSticks :: Int -> [CircStick]
circSticks n =
filter (\as -> abs ((as!!0) - (as!!(n-2))) > 1) $
filter (\as -> as < tail (reverse as)) $
filter (\as -> head as /= 1) $
(completions n [])