From what I have seen in the game, it seems like a fairly complex affair (frankly, the more I edit civ3, the less impressed I am by Firaxis, it looks like such a hack job, in terms of how much stuff is hard-coded and how hard it is to make even the slightest of changes. It just runs contrary to most everything I've been taught in regards to programming. Modularity! Error checking! Text first, Code later. blah blah blah blah.)
SO anyways...
You have the Art\tech chooser\Icons folder
The small icons are assigned based on the number you give the tech in the editor. All is dandy so far. The large icons instead of referring to this same number for their respective assignment go through the most assinine scheme I've seen.
It first assumes there are n techs. Where n = icon number of Writing. It then alphabetizes the techs (including "The" prefix in their name). Starting from the last tech, in this case writing, it will go down the list of icons available, all of which are numbered up to 82. Then starting from n it will make linked list of sorts for every small icon to a specific large icon.
So, say you add one tech.
n = 81
Start of large icons = 82-writing-large
It begins making the linked list"
81-warrior code-small gets linked to 82-writing-large
80-theorygravity-small gets linked to 81-warrior code-large
and it goes on and on like this.
Then every time the civilopdia shows the tech list and you click on a particular tech with a specific icon it will show you the large .pcx file that was linked to that icon.
What this means is you currently cannot add more than 82 techs.
And if you do have 82 techs it means they will all have the same blasted icon. Each new tech you add reduces your icon selection by one, so adding a few techs can probably be managed by careful reselection of the icons taking into account the new n value. As well as by renaming the small icon files to match the new n value. So if you add three new techs you lose three icons. You can go about renaming all 79 files so that you end up with 79 icons that will line up, but I leave that entirely up to those with too much time on their hands. Alternatively, one could write a small application that might be able to do this.
Ideally, it'd be great if Firaxis fixed this silly implementation.
EDITED some incorrect stuff out...
Anyways, hope that helps.