I know that a flash memory has limited write cycles. Does it also have limited read cycles?
Datasheets of most serial flash memories (like SST25VF series) mention endurance cycles. Does this endurance mean read + write cycles?
There is no limit to the amount of read cycles you can do, but repetitively reading causes something called read disturb. Essentially, reading lots from the same segment without an erase cycle can cause the data to be read incorrectly, and also corrupt surrounding cells in specialised cases.
More info here http://en.wikipedia.org/wiki/Flash_memory#Read_disturb
Most flash controllers will handle this automatically by shuffling data around, it's usually only a problem with controllerless flash such as on a microcontroller
The SST25VF uses NOR flash. The read disturb effect mentioned in the other answer happens only with NAND flash. It should be possible to read NOR flash as often as you want. Otherwise all microcontrollers with integrated flash would have a problem, too, because they use NOR flash as well. But to be sure, you should ask the manufacturer of the flash IC.
I did some tests with a flash chip and could read more than 100 million times without an error:
and the error was probably because of the breadboard setup. When I restarted the test (without re-writing the flash with the test data), I could read it again millions of times without an error.
Writing and erasing one page (256 bytes) was possible more than 8 million times before the first error happened.