I use Papers which is available for Windows and OS X. Their software is quite easy to use. Papers can export your library to BibTeX, so I simply export it to the directory of the document I'm writing, include it as usual.
Now the best part, for referencing as I'm writing... Papers comes with this overlay when you press Control+M in OS X. This overlay consists of just a box to type in, you type the title of the paper or author names and it comes up with a search result, select the paper you want and press enter, you can then press enter again to add a LaTeX citation into your document or add more papers to cite multiple papers at once. Since you've exported the library to BibTeX using Papers, the citekey matches. I can't imagine how any solution could be easier than this.
If you update a paper's citation details (say someone's working paper gets published, so you have to add a journal, etc.) how do you make that change across directories? Do you re-export from papers for each one?
* A directory and git repo for each paper (use your own VCS as desired)
* A separate git repo for my global bibtex file and a few heavily used .tex files (i.e. tcilatex.tex for sciword coauthors); this repo is set up as a submodule for all of the individual papers and they refer to their local version of the bibtex file.
* Really short, memorable bibkeys in the bibtex file (I first saw this recommended on I think stack overflow, but can't find a link right now). For a single author, first three characters of the name and last two characters of the year: Engle (1982) becomes Eng82; (by example...) Engle and Granger (1987) becomes EnG87; Sargent, Williams and Zha (2006) becomes SWZ06; etc.
This way I can just type most of the citations I need off the top of my head. The few I can't remember, I'll forget the year and searching by the first author via reftex takes about 5 seconds.
But, more and more for personal and not-for publication notes, I find myself just typing in the unicode and sticking with a plain text file.
edit: I'd love to hear other people's setup too, it took me a while to converge to this one and I'm sure there are better approaches.