Do odexed programs have any runtime (vs load time) performance gains? From my understanding, odexed programs are programs that are pre-compiled for specific architecture. 

It is obvious that this process would help decrease the startup time for the program.

Am I correct in thinking that odexing would have NO effect on the performance of the program once it is already loaded in memory? What about memory footprint?
I would expect it to have an impact on both.  An odexed app is optimized, not just precompiled.  Android runs on a huge variety of hardware, so platform-specific optimizations could result in significant performance gains.