IIRC negative vertex indices are used to allow grouping in obj files. The indices refer back up the vertex list at that point in the file.
v 0 0 0
v 1 0 0
v 1 1 0
g mesh1
f -3// -2// -1//
v 0 0 1
v 1 0 1
v 1 1 1
g mesh2
f -3// -2// -1//
is the same as;
v 0 0 0
v 1 0 0
v 1 1 0
g mesh1
f 1// 2// 3//
v 0 0 1
v 1 0 1
v 1 1 1
g mesh2
f 4// 5// 6//