I think what you are trying to do is do-able, however I probably wouldn't choose the NXT to do it
. But that being said - a challenge is a challenge, so here I go.
Firstly, I would keep your batteries on the ground, or wall. Its unfortunate, but the nothing about the NXT has been designed to minimize weight. I've build plenty of RC planes, and that's one of the first considerations you have - weight. NXT hardware is bulky, slow and full of heavy plastic. If you can keep your batteries tethered to the UAV, you could have a chance at getting it off the ground, but vertical lifting (helicopters, quad copters, etc..) take a lot of energy - because you are starting from a "dead lift". Fixed wings, like a plane, don't require the extreme power density that you will need in a copter because you get the plan up to speed and glide around.
Additionally, you will have to think of timing, sensors, etc. The NXT is a cool device, but you'll probably need an accelerometer, and a few more things. You mentioned an ultrasonic sensor too - which is a cool idea.
If you do want to try an un-tethered idea, the NXT is much better suited for land based operations - haha. But that's not to say you can't make some super cool things. What I would highly recommend is reading this tutorial about sending Bluetooth commands from your computer to the NXT and then writing a simple computer software program to guide your robot around.http://www.robotappstore.com/Knowledge- ... ms/92.html
The reason why i say this is because I'm really into making RC cars, planes, boats, hovercrafts, etc..., and the easier devices are those that operate in 2D like a car or boat. The moment you bring in a third dimension, the complexities skyrocket. So start with a car, boat, or other crazy machine and get your computer to control it.
I recommend the computer because it can do way more calculations than the NXT and will provide you with a much better stepping stone for future projects. If you have any questions please don't hesitate to ask!