1) Can I use iControl to manage an external class file to provide a GUI to add, delete, or modify redirects?
Absolutely, but with some restrictions. You'll have to use the System::ConfigSync::download_file() and upload_file() methods to download and upload the external data group. These is typically stored in the "/config" directory. There is no line-by-line access so you'll have to manage the file contents on the machine running the iControl application. In short, just treat the external class file as any other file you would upload/download from the device.
One thing to take note of here is that the file is only loaded at RULE_INIT time so if you change the contents of the external data group, you will have to tweak your iRule (add a space) and resave it to force a new rule initialization. These sample code apps might be of relevance.
http://devcentral.f5.com/wiki/default.aspx/iControl/InitializeRule.html Click here
http://devcentral.f5.com/wiki/default.aspx/iControl/PingExternalClass.html
Click here
2) How will my 6400 dual proc box respond having to read through a 5000+ line redirects file?
That entirely depends on what your iRule is doing with those 5000 lines and how often the iRule is getting executed. I personally don't have performance impact numbers for very large classes, I do know that we have customers doing blacklisting type appliations with them and they are running successfully. So, if you device is at 90% capactity before the iRule, odds are you'll hit some issues. A 6400 is a pretty beefy device, so odds are there should be no issues with overhead.
One thing to note regarding performance and very large data groups. Make sure you do not use the TCL list commands on this (like llength, or lindex) as those will "morph" the optimized hash that we use to a true TCL list for which access is much slower. For smaller lists, this isn't an issue, but for larger ones, it could be.
Hope this helps...
-Joe