1) Yes, although you are definitely correct to worry about overhead when dealing with XML. 2) I'd use
XML::Writer instead of XML::Simple. It gives you more direct control over the exact XML produced. If that didn't perform well enough I'd switch to a templated approach, probably using
HTML::Template although any decent templating system would do.
-sam
PS: You might be interested in this article I wrote for Perl.com: Don't Be Afraid to Drop the SOAP. Although you didn't mention SOAP I'm sure someone will suggest it.