Language independence
Client and server can be developed independently and in different programming languages
(currently C++ and Java). The Slice definition used by both client and server establishes the interface contract between them and is the only thing they need to agree on.
So you can't call an ICE server directly by using Delphi. Instead of it , you can develop a middle layer between ICE server and your Delphi program .
You can call the Database API in ICE programs . and Freeze is a good choice to access Berkeley DB .
marc and bernard give more professional tips here :
Replace Freeze by PostgreSQL