The easy option is to remove the unwanted fields from the service query.
Also in the setup of the outbound port you can configure which fields to expose (under "Data policies". You cannot when configuring inbound ports.
On output AIF always emits the elements whether or not it contains data. For example:
</endDate>
if the endData
is not set.