(Well nodes are firstly points in a graph.)

I assume that from the "100x100" node question.
And in fact, such a system makes sense when:

-the passabality area is 2D, -> has no "bridges/intersections"
-it needs to have a fast system of generating the grid (much like in an RTS with custom maps)
-there are obstacles, but you dont want to alsways leave out a complete grid just because there is the tip of a tree nearby
(therefore the offsetdata to move the nodes within certain bounds)

So I would say this fits well to top-down tactcal games, or diablo type games.

a system with free-placable nodes I would structure like this

9 bytes x,y,z position data
2 bytes Metadata (whatever Info flags, such as passability, content etc)
1 byte num of connected nodes
(0 .. n times) 2 byte node id of other node

-> this would be the storage format.
in the actual memory I would limit the number of linked nodes to like 16 and then just store
this into 32 byte linkdata per node (where id 0 indicated no link)

There are probably some ways to save memory, but its a reasonable idea, and fast to access.