Er möchte Daten speichern und über eine GUI verwalten können. Die Technologien die er nennt sind die die er kennt/beherrscht. Er könnte es mit HTML/PHP/MySQL umsetzen aber dafür müsste man einen lokalen Server aufsetzen und das ist Unsinn. So verstehe zumindest ich das ganze.
Wenn das soweit zutrifft, bist du mit C# und WPF ziemlich gut aufgehoben. Mit GWT habe ich nie gearbeitet, bin aber auch persönlich kein riesen Freund von Java. Das ist aber eher eine Persönliche Sache
Ob du jetzt deine GUI in GWT über XML designst oder dafür den GWT Designer nimmst, oder das ganze mit WPF löst, wo es dann halt xaml heißt und im Prinzip eine XML Erweiterung ist, bzw den Designer der bei WPF direkt mitgeliefert ist, bleibt dir überlassen. Im Prinzip gingen auch andere Möglichkeiten. So könntest du die Anwendung in Python schreiben. Dafür gibt es ein ganz nettes qt Binding. Das heißt, du würdest mit Python die Anwendung schreiben und mit Qt die Gui erstellen.
Ich persönlich würde hier die C# mit WPF Variante bevorzugen, da ich finde, dass C# ein paar Sprachliche Vorteile gegenüber Java hat. Python und Qt sind nett, aber auf dauer meiner Meinung nach zu anstrengend.
Was das speichern der Daten angeht. Solange nur du auf die Daten Zugriff haben möchtest, kannst du bestimmte Objekte deiner Anwendung serialisieren. Dabei wird der Zustand deiner Objekte genommen und in einer Datei gespeichert. Durch deserialisieren kannst du dann diesen Zustand wiederherstellen. Damit kannst du also im Prinzip speichern und laden deiner Daten realisieren. Der Vorteil ist, dass das ganze schon fertig ist und du dich um vieles nicht kümmern musst. Würde dir Möglicherweise ein gutes Stück arbeit abnehmen.