I too started my main MC database almost six years ago. I don't have any performance problems. From time to time I have compared my old database with a freshly imported one and I have not seen speed differences even though my old database contains more data.
If your problems are really caused by somehow corrupted database you can export it in XML/MPL format and import all field data to a new database. That should clear any possible structural problems.
You could split the library to a few new playlists and use the Export & Import Playlist tools. The Import Playlist tool can update existing library data from mpl files so you can first import the files from your hard drives and then apply all original field values from mpl playlists.
If you want to mass edit your base folders you can do that in the mpl files (mass edit the Filename fields with a text editor). Move the media files outside MC and import them to a new library. After the media files are initially imported to the database you can import the edited mpl files for returning the original field values (only the Import Playlist tool in the File menu can do this.)
1) What are the gotcha's or suggestions and config standards as far as server setup goes to maintain performance with a large audio library.
You already have a GB LAN so I don't know what else you could add. Personally I don't have any problems with accessing files on a switched 100 MB LAN and I have some big stuff like 500 MB Monkey's Audio disc image files with APL link files. I use mapped network drives and I don't run Auto-Import in the background.
2) Will directory structure on my server impact performance at all?
Keep the directory and file names as short as possible.
For example, I use
X:\artist\album\01 - track nameinstead of something like
\\my fabulous server\my shared drive\my music\artist\album\artist - album - 01 - track nameI have configured my system so that the same mapped X:, Y: and Z: drives are available on all PCs. I use these bare drive letters as base folders. From time to time I use junctions on my server for combining physical drives or partitions. This is transparent in MC's database. When I buy a bigger drive I may remove the junctions and gather the folders on the new drive without making any changes to the database.
3) Coverart: does it make a difference in performance how I store cover art? (ie embedded vs folder.jpg vs directory)
I think that in theory external cover art should be faster, especially if you have big lossless audio files that store tags in the end of the file, e.g. APE. (It might be best to store the image file in the audio file folder to keep the link short and quickly accessible.) However, I don't think the speed difference can be significant. In view schemes MC uses the local thumbnail cache. The original image file is used only in the main display.
Also, if the embedded image is stored in the beginning of the audio file (e.g. MP3, OGG and FLAC) the process of adding cover art is usually many times slower because the complete audio file must be rewritten.