As statox mentions in the comment, the simplest version is marks. You can use viminfo-related options to make sure these are persisted between vim instances.
The idea is to m and a letter on a line (or the ex commands :mark/:k). Lower-case is file-specific; upper-case is global.
Then use ' with the mark name to get back to the line or ` to get back to the ...
From :help tag-stack:
On the tag stack is remembered which tags you jumped to, and from where.
Tags are only pushed onto the stack when the 'tagstack' option is set.
The output of ":tags" looks like this:
# TO tag FROM line in file/text
1 1 main 1 harddisk2:text/vim/test
> 2 2 FuncA 58 i = FuncA(10);
3 1 FuncC ...