If there's a simpler way then please do tell me.If not would using pv more manageable than the other ways? Or am I understanding this all wrong and infact hash tables and arrays are nothing like pv (I know arrays are different).
PVs on an unrelated object or global values would definitely be the easiest way to go. If all you're doing is comparing miscellaneous values then there's no need for arrays or hash tables; they're for more complicated stuff.
For instance, arrays are basically a checkerboard (with added z dimensions if you want, making it a cube) where each square can contain a value - integer, float, string, container, what have you. If you want to write or retrieve a value from an array you have to figure out the x,y,z coordinates of the 'square' you want.
Hash tables are similar but use "keys" instead of coordinates.
Both are capable of being saved to a file, loaded from a file, looped through, and so on.
(The wiki probably explains this better ^^;)
As such, they would just make what you're trying to do unnecessarily complicated.