in essence, behind every line or shape in visio is a 'spreadsheet" called a shapesheet. Cells in this shapesheet control a variety of functions (location, color, formatting, intelligence/dynamics fo the shape, etc). To config the cells, there are a bunch of functions (and, or, if/then, sine, cosine, lookup, etc).
So all I was suggesting is that you can use a cell called user.cell to build up a text string that has the concatentation of all the page numbers (something like "page1!!page2!!page3!!page4). You can then use functions like lookup in other user.cells against this one to find "page2" in this string.
If you are new to visio, this will take alot of learning (visio shapesheet and function mix are quite arcane).
Visio is definitely a crawl walk run tool