I'm not quite clear whether you're asking about upgrading only Oracle or upgrading ProIV itself, but I suppose both if you want a supported combination?
All older versions of ProIV rely on the OCI7 interface to Oracle. This © API has been obsolescent for nearly 20 years and very stable.
It's usual that ProIV links dynamically to an Oracle shared lbrary at runtime in order to use the OCI7 API. Unless perhaps that wasn't true of some of the oldest versions?
Because the OCI7 API is so old and stable, I'd guess there is a fair chance even very old versions of ProIV might work with recent versions of Oracle. Of course such a combination won't be officially supported though. As you mentioned, there could be a need to redo the ProIV kernel "on site link" where that applies.
Upgrading a ProIV application itself from version 4 to something recent is, as Chris said, likely to be a major exercise involving migration/conversion and recompilation of the source code for an entire application. It might be that more than one migration/conversion step is needed.
Oracle 10 is long out of regular support I think - it could be logical to aim for Oracle 12 at this point? Recent versions of ProIV would support Oracle 12 I think.
I note Oracle have said the OCI7 API will finally be desupported in their next major release (although that remains to be seen and I believe it doesn't mean Oracle 18, which is just lipstick on Oracle 12).