What do you mean by external fields? If they are in a different database an external BAQ can be used to view them.
If you need to update UD fields that are locked by the business object you can use a custom method on a updatable BAQ to update the field directly without going through the business object.
This post has an example code of updating without a business object. (Always go through the business object when updating standard fields)