here exists many different algorithms for generating unique identifiers (see e.g. [1]). However, one cannot store a UUID in a integer type, so for OpenACS, every datatype keeping object_ids has to be altered, every view has to regenerated, every function has to be dropped and recreated - it is furthermore not clear what this means for Oracle.
Starting with pg9.2, postgres supports UUIDs as datatype, but does not provide a standard function for generating it (there are add-on modules available) [2]. Instead of sequences, one has to use functions to generate IDs. The organization of the files in the CR has to be altered. The impact of UUIDs on OpenACS magic IDs is as well not clear.... Upgrade scripts look like an intellectual challenge.
So, i would not call this a small change, since it will effects at the end every package (data model and the input validation). Don't expect, that this would solve all aspects for horizontal scaling. If you "ignore unique constraints" you customers will complain about data losses.
Using UUIDs has some sex appeal, i thought about it in the past, but it would be a substantial change.
-gn
[1] https://www.postgresql.org/docs/9.6/static/uuid-ossp.html
[2] https://www.postgresql.org/docs/9.6/static/datatype-uuid.html