Wenn es sich um Deine "eigene" Datenbank handelt, also eine , auf die Du vollen Zugriff hast, könntest Du das Feld doch einfach als NOT NULL deklarieren und alle bisherigen NULL-Felder mit 0 füllen.
Ansonsten gäbe es für Dein zweites (und eigentlich auch für dein erstes) Problem in Firebird ein Case, das man in folgender Art verwendet:
Select Case When FeldA is NULL Then 0 Else FeldA End form ...
Vielleicht gibt es etwas Ähnliches ja in
MySQL.