I haven't got 10g so I can't verify that there isn't a bug with the insert..values, but I suggest you try running a test like this:

CREATE TABLE X (ID NUMBER, A NUMBER);
insert into x values (1, 5);

CREATE TABLE Y (ID NUMBER, A NUMBER, B DATE);

INSERT INTO Y (ID, A, B)
VALUES (2, (SELECT A FROM x WHERE ID=1), SYSDATE);

select * from y;

If that works, then it probably isn't a bug in Oracle and is probably some sort of environmental problem. Maybe the ID you are using to run the job is seeing a different version of the ENC_TRAN table from the one you are using to run the query standalone.