Before I start on heavily modifying an existing library
Modifying a library just doesn't work since read and write are so intertwined. Better to find a small library.
I wrote a very small read only library for an Adafruit Audio shield. It is included in the WaveHC library http://code.google.com/p/wavehc/downloads/list
. It will be a bit tricky to use it standalone.
Another option is Fat16. It is a minimal read/write library. The read example takes about 8 KB total flash and includes Serial so the SD/FAT code is under 6 KB.http://code.google.com/p/fat16lib/downloads/list
I wrote an extremely small SD read program, under 2 KB, as the base for a bootloader. it is attached to this post (you must be logged in to see it) http://arduino.cc/forum/index.php/topic,89478.msg676133.html#msg676133