Are toast columns compressed also in shared_buffers? Reading here I cannot find a clear answer:
http://www.postgresql.org/docs/9.1/static/storage-toast.html

I need to know if setting storage to EXTERNAL for a particular column, I can gain a little performance. Most of my data is retrieved from SHARED_BUFFERS. 

I'm curious to know if decompression is done for every query working on that field.
Yes, they are.

shared_buffers is block-oriented, and stored in the same format as on-disk.

This is generally good for performance, since the decompression is very fast, and the compression means that more fits in shared_buffers. The only case it might hurt is if you have enough storage to fit the whole dataset in shared_buffers uncompressed too.