You can get audio attributes at the song level by adding bucket=audio_summary to the call above. This will tell you for each song, a lot of things including the duration.
That said, that doesn't help with there being a lot of tracks for the same song. In the case where that happens, the audio for the different tracks should be the same to a human ear; that's what being the same song means. So you shouldn't see meaningful differences in duration, etc, between the tracks. The difference is mostly one of metadata (you might want to show a user metadata for the original album, not some compilation the song happened to appear on), and in general the tracks should come back ordered such that picking the first one will give you the canonical release.
One more caution: you mention previews. It is likely that you don't have rights to all of Deezer's catalog (I don't actually know how their region restrictions work). So it might be that even though we tell you about a Deezer track that it's only available in other regions, and you don't in fact have rights to stream the whole thing. So you might only get a preview. I would expect the Deezer API could help with that (tell you whether you have rights to a given track), but I haven't looked at the details of how to do that exactly.
-Eli