Similar issue here, but it started when I turned on iTunes match. My iPhone (under iTunes) now shows duplicates for ~60% of my tracks - they appear to be (mainly) where I've ripped a non-256 bit rate track. So one of the tracks shows AAC 256 VBR, while the next shows Matched AAC 256 kbps.
iTunes shows, say, 1500 songs and 12 Gb in my library, but the iPhone music category shows 2300 songs and 18 Gb. The phone itself now only shows the one track, but I originally had the same issue as the OP, with two tracks, one showing the 'preview' button.
I've tried completing removing music from the iPhone, but 20-30 tracks just stay. I've seen some discussion around this possibly being a 'server load' issue - match has been broken for a few days now, and I wonder if it's just taking time for things to sync through iCould?