Ahhh.. finally a SonicWall question.
Okay so here is the skinny, on the Windows 9x machine you can specify the WINS server in the dialup TCP/IP properties tab (if dialup) or if broadband in the network card's TCP/IP config.
Now when it comes to the Windows 2000 machine you can try to do the same however every time that I have done it things just seem to go wrong, but give it try just in case. (If it works be sure to let me know cause this isn't the way that I am doing things, but I wish Icould)
What I had to do for each Windows 2000 machine was create an lmhost file with every machine that the users would need from outside, like you said you did above. I also created a hosts file and I copy both of the files to the clients via logon script. Remeber in the lmhost file you need to kill all of the comments that are in the beggining. Your lmhost file should look something like this: (where the first two macines are domain contorller and the rest are file server and or priters)
102.54.94.97 dc1 #PRE #DOM:domain
102.54.94.102 dc2 #PRE #DOM:domain
102.54.94.123 fserver1 #PRE
102.54.94.117 printer1 #PRE
If you need help with the logon script, like being able to tell one OS from the other and therefore where to copy the files let me know.