Two approaches: First, take a look at Doug's AppleScripts for iTunes - dougscripts.com. He has a ton of useful scripts, including Super Remove Dead Tracks, which you might be able to modify to just list them if you want.
Or, if all you want to do is create a playlist of songs which have no native file, there is a very simple way to do that (which I found repeated by so many people that I don't know who to attribute it to):
Create a regular playlist, not a smart playlist. For this example, call the playlist "Alive".
Select all tracks in your main library and drag them into "Alive". Note that "dead" tracks with no native file will not appear in this playlist.
Create a smart playlist defined as: Playlist -- Is Not -- Alive. Call this playlist "Dead".
You now have a list of "!" songs which are missing their native files. You could then go ahead and delete the dead ones if you wish.
Deleting is not allowed from a smart playlist. So, select all songs from the new "Dead" playlist by clicking Ctrl A. Right-Click and select Dislike. Now they can be seen and deleted in the main library; sort using Love/Dislike column. Tested in current Windows version.