Geometry nodes, (SOPs), don't explicitly know about their results from any other frames. However, there are a few ways that you can get a value that's the same across frames.
A) Don't make the value depend on time.
I know this sounds self-referential, but it's the most common way to have values that persist across time. If a whole node and all of its dependencies don't depend on time, it will only cook once when playing back. If the node is time-dependent for other reasons, but the specific parameter or attribute value being referenced doesn't change value over time, the node will still re-cook, but at least it'll get the same value all the time. In Houdini 16.0, if you press and hold down the middle mouse button on a node, the popup will say “Time Dependent Yes” in green if the node is. There's also a little green clock icon next to time-dependent nodes.
In your example, if the position of point 0 in “/obj/ShiftingPoints/blast1” doesn't change over time, it should be fine just to do:
i@Ref = point("op:/obj/ShiftingPoints/blast1", "P", 0);
Sometimes, you'll have things that can be split into time-independent and time-dependent parts, which can speed up using the time-independent values, since they only have to be computed once. An example is using a Scatter SOP on time-independent rest geometry once, and then using Attribute Interpolate with the points from Scatter and the time-dependent deformed geometry to move to points to their deformed positions. This avoids redoing the Scatter on every frame and can avoid quite a few problems.
B) Use a Time Shift node.
If something depends on time, but in some case, you just want to use the value from a particular time, (and it can't be easily separated out into time-independent and time-dependent parts), you can use a Time Shift node to make upstream nodes cook at a particular time or frame. Note that if those upstream nodes were previously cooked at a different time or frame and they're time-dependent, they'll cook again, so this approach can cause extra cooking if you're not careful.
In your example, you could have a Time Shift node set to evaluate at frame 1, with the same VEX code in Attribute Wrangle set to Detail going into the input of the Time Shift:
i@Ref = point("op:/obj/ShiftingPoints/blast1", "P", 0);
Since it's only being evaluated at frame 1, it'll only ever have the value from frame 1.