In either the iOS app or the Mac app for Facetime, you are given the option of selecting any contact listed in the corresponding device's Contacts app, regardless of whether they are capable of using Facetime (they own an iPhone or a Mac with the app). Are there any methods of determining this besides manually keeping a register of it or guessing?
To get around this I have added the letters FT to a contacts last name eg "Surname FT" then all I need to do is search for "FT" and there I have a list in alphabetical order of all contacts I can FaceTime!
So, create a new message, add all contacts, take note of which ones are blue, and add FT to the end of their surname eg. "Surname FT". Now when you want to FaceTime someone Type FT into the search bar and presto! You have your list. Hope this is helpful, enjoy :-)
Unfortunately, the Contacts and FaceTime apps won't display a list of FaceTime-capable contacts, I think you need to just keep a record. You can try doing FaceTime with someone, and if they don't have an Apple device, it will just say that they're not available for FaceTime.
However, if you have FaceTimed with someone, then in my experience FaceTime will (sometimes?) show a camera icon next to their phone number or email address after you click their name.
Also, if you open Messages and start typing in a message to someone, the name at top should be highlighted in blue if they are iMessage-capable, and if that's the case, there's a pretty good chance they can FaceTime too, with the iPhone 3GS being the main exception as it doesn't have a front camera but can be iMessage compatible.