Tout dépend de la taille de ta base.
Si elle ne contient pas trop de données, tu peux utiliser une application locale + xml.
Si tu veux utiliser du PDA + portable + station, je dirais du .NET VB, C# ou C++ managé, car le framework existe en version compact pour les PDA. tu pourras créer une application portable sur tes machines, qui se connectera à la base par ADO.NET et remplira une base locale pour y subir des traitements. Les traitements finis tu peux mettre à jour la base distante avec les données xml.
Bien entendu tu peux très bien réaliser cela en C++, Java ou autre langage.
Sinon pour une base plus conséquente (la capacité xml reste énorme), tu dois pencher pour une une base locale type MySql, PostgreSql, Oracle, SqlServer … ainsi qu’une application permettant d’importer, de traiter et d’exporter tes données.
Dans ce cas le choix est très large.
Et comme le dit Quaza, je aussi assez fan de la solution xml + xsd + xsl si tu veux associer des styles de présentation à tes données.
A noter la possibilitée d’utiliser XPath pour interroger des bases xml.
XPath > http://www.w3.org/TR/xpath
XML > http://www.w3.org/TR/2004/REC-xml-20040204/
XSD > http://www.w3.org/TR/xmlschema-0/
XSL > http://www.w3.org/TR/xslt