I didn't understand your question well but I try to give you a satisfying answer.
I'm planning the links to be translatable to IP-s and also files on a ramdisk. I cannot
assure you the support of integrated browser in filemanager (don't know if it's possible
that easily) though.
about that parser - you could give me some pseudocode. I would be interested the
techniques used. Mine now looks like this:
CODE

for every TAG in FILE
   jump Look_Up[First_Character]
       compare with every TAG beginning with First_Character
       if equal found do something
next

I'm looking forward to translating this to hashtable. I was thinking of something simple:
I would take first four characters of a tag (<td> would be sth like "__td") and reduce
that DWORD to a 9 bit number. Following that 512 number's first 7 bits in a lookup table
I arrive to a right place.

I have done some browsing and yet not found any help on browsing non-mathematical
equations. There are some refernces to browsing strings like "aabcc..." by character but
it's just too slow and not for me. I have a hint "<" and fixed number of tags (92).