On #1, If UtilEJB is stateless then calling create during ejbCreate should be fine.
On #2, My preference would be to put the configuration information in a database table and use that during initialization. If you want to update the table and don't want your bean to use the new information, there are ways to do that. But, if you must use a file.... Reading it during ejbCreate, doesn't guarantee that a change will not be reflected until restart. Let's say you change the file. Any MDBs currently in the pool will be using the old values. But, if the server needs to create new entries in the pool, they will read the new values. In that case, a Singleton is probably your best bet.