Multi-user, non-organization environment?
CiviCRM could certainly do this, but out of the box, the "maintain your own private contact/donation records" wouldn't scale well.  You'd either use ACL permissions or you use multi-site, which feels like overkill.  I've used both approaches with a handful of segments (12-14 segments, with 1-2 users able to see each segment).

If you wanted to scale well past that, I would write a custom extension to handle your scenario.  I would probably use a "contact reference" field to link contacts to a group of contact owners, then use a permission hook to limit access to folks who have that user as their contact reference.  You could also use groups instead of contact references, which would let a contact have multiple owners.

As for hooking into an "existing" set, you'd need to import the data.  CiviCRM isn't going to be the right tool if the data exclusively lives elsewhere.