This should definitely be doable!
The simplest way of doing this would be if you have public headers in a separate folder (can be post-compile copy script if you don't want to separate them in Xcode.
Another option would be to list each individual public header as source path in appledoc cmdline (you're not limited to single source path, not does it need to be a folder). Not sure if there's simple way of using Xcode environment variables for this though. You could do it manually but that would not be very future proof I guess.
Third option is using ignore arguments (which you can also supply in any number). This way you can give it single source path and any number of ignore paths.