I did a test using the USPS Zip Code Lookup, since I live in an apartment. The result was a list showing various apartment ranges and the +4 codes. A range of four apartments, which includes my apartment, is correctly matched to the +4 code I use.
So in theory it should work. If the address that John Doe claims to live at exists, entering "123" into the data field for Address 2 should show that a range that includes 123 has a zip +4.
How reliable is a negative result? Could John Doe be living at 666 Main Street, #123 with the Zip Code Lookup failing to provide a matching Zip +4? I don't know.
Another test I did was to go to Infospace.com. I selected a search for business "near an address". For Business Type I entered "apartments". I narrowed range to 1 mile.
That brought up a list of eight businesses for "Apartments", and on the top of the list was the apartment management for this complex.
I don't know how reliable a negative result would be. A single apartment building with off-site management could have a negative result.
This is slightly more involved than the zip code lookup, but when you ship packages from UPS (specifically ups.com) it verifies that the address is valid. This will be a huge pain if you don't already have a ups.com account set up but if you do you might want to give it a shot.