Can you read a USB flash drive from an Android phone?
Yes and Kinda.

You're talking about USB On the Go (OTG) and Android is capable of it but it's not officially supported.  I couldn't find any apps in the app market that handle it but here are a couple people that got it working:

http://sven.killig.de/android/N1/2.2/usb_host/ (this guy basically turned his Nexus One into a whole work station)

http://www.tombom.co.uk/blog/?p=124

That second tutorial tells you to hack a cable but you can actually buy an OTG cable so this isn't necessary.

Also, I've seen some phones claim they are going to come out with USB OTG a while ago but I don't recall anything ever materializing.