The title says it all: every time I open Armory, it appears to rescan the entire block chain (after synchronizing). Why can't it just keep a file that says if any blocks contain transactions for my wallets, or something similar?
We just release version 0.90-beta, which finally solves this issue. Armory does not need to rescan the blockchain anymore unless you import new private keys, or Armory experiences an unclean shutdown.
With the exception of the first-time startup (to build the new databases), Armory should get into online mode within 10 seconds of Bitcoin-Qt/bitcoind finishing synchronization.
There is no technical limitation, the developer just hasn't gotten around to it yet. This is part of a larger rework of the Armory block chain database.
See this GitHub issue for more.