XData are for additional non-graphical descriptive information (< 16K) that can be attached to objects.
This information can be divided into two parts - for two different main tasks:
1. For programming purposes.
As in your example with the numbers of circles defining the order in which they are connected. Or in Jonathan Handojo's ObjectPropertySync.lsp.
Etc.
AutoCAD itself uses XData for primitive's additional data - in Dimensions, Hatches, Viewports, and so on.
2. For users - to turn their graphical models into object models.
In XData, you can define the names (or codes) of the real world entities (features) represented by your graphical primitives. For example, your circles can be defined as ‘fire hydrant’ or ‘storm well’, etc.
And in XData, you can define characteristics (attributes, properties) of reality objects (features). For example, depth, material, belonging, purpose, etc.
After that, it becomes possible to analyse the drawing as a model of reality and transfer such a model to information systems.
To work with XData, we made a set of users tools - XDTOOLS.