How to record and use the old coordinates of each atoms in LAMMPS

Please keep the list in the loop.

Fix store/state can store the coords. But this:

in the next iteration, a force which is calculated
from the saved coordinates is added to each atom

is something you'd have to do yourself, e.g. thru a fix
that you write. How else would you expect LAMMPS
to compute this arbitrary force?

In LAMMPS, it that possible for me to define an
atom-base vector whose elements are arbitrary defined? In other words, the
elements of this vector is independent of any atom state.

Again, not sure what you mean by arbitrary, and how you
expect LAMMPS to do something "arbitrary".

You can define an atom-style variable which calculates
a per-atom value based on a formula, but that isn't "arbitrary".

You can also write your own compute which calculates any
per-atom value you care to code up, and then it can
be invoked whenever you wish.