I haven't done a rigorous proof (have done no proof at all really), but it would seem to me that the sum of the distances from the centroid to each vertex would be a unique value for each shape and would be independent of the rotation of the shape.
And it would be a quick calculation:
for each shape:
calc the centroid
build a vertex list (just an (assoc 10) list since the OP said all shapes are LwPoly)
then sum the distances -> (apply '+ (mapcar '(lambda (x) (distance x centroid)) vertlist))
Build a list containing each value, find the matches, use the index of the list to pull the entities from the selection set.
Almost writes itself