If it is the visitor, you could have seen it when the bastard was announced, as vampires are announced as such (which probably is a bug). That announcement is easily missed, though.
I would trap the suspect between doors (install lots of doors in a corridor and relocate the tavern to the end of it) and probably engineer a cave-in to kill it, although, come to think of it, a drawbridge is probably easier (since they work on vampires, unlike FBs).
If you're squeamish you can keep the bugger locked up and see of the killings stop. If you've caught some undead (animals or from a siege) you could let the bugger out through a path where it would have to pass a chained undead (just seeing one through a wall grate is sufficient, I think, so just releasing the undead from a cage into a locked room with a grate should work). If it gets scared it isn't a vampire, and if it just walks past it is.
You can also wait for the bugger to leave on its own accord, a few dorfs later, and you can also keep a very close watch on it to observe when it attacks its next meal.
Regardless, you should scan your migrants (and triple check your mayor). I believe the wiki has a number of tips on suspicious things to look for. One such thing is a dorf without a room, assuming they're left to select rooms for themselves and you have enough rooms. Vampires don't need to sleep, and so won't claim rooms (but mayors demand rooms as part of the office package, and so can trick you into supplying them with one).