Yes, it seems to be normal behavior. No, there is almost certainly no index created by tar for its archives. (Where would it live?)
I did a little experiment to confirm what you're describing:
$ du -h foo bar baz boo
$ tar cf one.tar foo bar
$ tar cf two.tar baz boo
$ time tar tf one.tar
$ time tar tf two.tar
It took the one.tar archive (which contains tiny files) a fraction of a second to be listed. It took the two.tar archive (which contains 300MB+ files) over 14 seconds to be listed.
My WAG is he is actually extracting files to a temporary area - or /dev/null - just to do the listing. I didn't measure disk I/O, but I suspect you'd find lots of activity while listing a large archive.