currently the grid is set globally and whatever it was last set to is what you see everywhere.
It would be great if the grid settings were remembered for each context, so each board saves it’s own grid settings, and each footprint the same.
The main use case is that some boards and footprints are laid out in mm and some in mils and it would save a lot of confusion if each remembered which it had last had its grid set to.
If we get a more sophisticated grid in the future, (such as major and minor grids) then those settings should also be contextual to each board or footprint.
The grid settings are already stored per schematic and per board, so they will be restored when opening a project the next time.
Thus I suspect you are talking only about the library editor. There the settings are not stored in packages and symbols to avoid unnecessary “noise” in the files, leading to annoying diffs when using version control systems.
However, I would agree the grid settings of library elements could be stored locally on the computer. So at least when you open a library element the next time on the same computer, the settings will be restored. If you agree and have a GitHub account, I’d be happy to receive this feature request as an issue