Try looking at Quake's MD2 format (good tutorial here) http://tfc.duke.free.fr/old/models/md2.htm which is designed specifically to be loaded into OpenGL. It is a nice thing to learn however it is a little old.
By contrast, the OBJ format is still going strong and it has a lot going for it (simplicity, wide support). It looks like you're on the right path as you seem to understand that the format has separate indices for vertices, normals and texture coords, and thus has a requirment for you to create a separate index buffer for your Vertex Arrays.
The trick to get it to work well is to use a fast hashtable solution to store/retrieve the 'vert/norm/tex' face descriptions. (My first attempt at an OBJ importer took 7 seconds to read a 10000 face object, now it's down to 0.5 seconds - and can probably still be improved! Good luck!