Massimo, thanks for pointing out the obvious to me. I knew it had to be something that simple, just couldn't see it. I had decided to use factory instead of pure SQLFORM because I'm not going through the usual self-submit process. The db is all manipulated via ajax in this case and the form is a convenient way to get the widgets I need.
Thanks for the suggestions for the autocomplete widget and cache. Instead, since I don't need the reference in my form, I'm just turning it off altogether withe readable/writable = False. After making the change, the time to build the form dropped to 0.04 sec. Now, that's more like it! --

