Are you sure you want to do this?
- You should be putting the things you want fastest access to on the SSD. If you don't cache the data, your access will likely be slower (unless you can read faster from the SSD than memory) and every access will require I/O.
- Did you consider the wear the additional writes will cause the SSDs. Write caching reduces I/O.
Disk cache memory is released if needed for other purposes. If memory isn't being used for other purposes it would definitely be wasted if not used for disk buffering.
Direct I/O as you are specifying is typically seen in databases. However, many database configurations only ensure the data is flushed to disk on block write. Otherwise unused memory is used for disk buffers. This can make disk read requests much faster than would be required if data was read from disk.
Some operating systems have (had) mount flags which required direct I/O rather than buffering. I haven't seen any mention of such an option on Linux.
sync will force data out faster, but I don't believe it is flushed from memory much faster than it otherwise would.
The option not to buffer I/O is typically done on a per open basis. The opening program is responsible for making the appropriate system calls or setting the appropriate flags in the file open request.