The normal policy is that an AT&T account is required. "Required", as in the POS device at Apple Stores makes the employee type in a valid AT&T phone number before it will continue to the screen where the employee can finish the sale.
In a month or two ago, Apple dropped that policy, and also dropped the policy limiting iPhones purchases to a certain number. Anyone could walk in and buy an iPhone for $599 or $699, no AT&T contract required. They typically do this towards the end of a generation, to clear out stock.
They typically put both requirements back on (that a phone number is required, and there is a max per account) at the launch of a new iPhone. They want to limit the initial iPhone stock to AT&T customers, and they also want to limit the maximum a person can buy.
So if you call Apple Corporate, they're probably telling you what's right. If you can an Apple Store, they're probably telling you how it is today. And today, they're still selling the old inventory, not the new iPhone 4.