Can't you do this with some kind of LOOKUP()?
Assuming on Sheet you you enter the NAME of the book in some cell (e.g. A2), rather than setting A2 to reference the inventory directly (e.g. '=Inventory::A23")
Now the other cells in the reading list can be set to LOOKUP() the current location of the book name in the inventory and update accordingly:
For example, here's a sheet with an 'Inventory' table and a 'Reading List' table.
(clearly I don't have your data, but I'm just using example data to show the idea)
Now, on the reading list, you add the date in column A, and in column B you enter the name of the book you're looking to read.
The 'magic' is in column C. The formula for cell C2 is:
=XLOOKUP($B2, Inventory::$A, Inventory::B, "", 0, 1)
This translates as 'take the value in cell $B2 and go find it in column $A in the inventory table using an 'exact match' search. When you find it, take the corresponding value from column B on the inventory table'.
The $ signs in this are important since they 'lock' the formula to the relevant columns. That way you can fill the formula across and down the Reading List table and it will still perform the correct lookup, but taking values from the Pages and Location columns as appropriate.
With this model you can update the inventory table with new books, and even change their order, and the reading list will automatically maintain the right links, since it's looking for the book name as the key.