Yes, they can.
First of all there is your network profile (or have a look at mine) which is linked from the right top corner on every site userprofile.
There is a feature to hide communities Hiding sites from the main StackExchange.com profile page? but that is only a decoy and not really keeping your different site profiles private.
Beyond the easy access there are also more technical means. The Stack Exchange API for example exposes an endpoint /users/{ids}/associated
that will output for a given network profile id all the sites with an account. These are the first 50 sites for [Nathan Tuggy][1].
Last but not least you can use a cross site SEDE query to find for a given network account the sites the user has accounts on. (SEDE is updated weekly, so your account is not yet in there). There is also a datadump version of SEDE, updated quarterly, that allows for the same trick (but you would have to download all the User.xml files)
If you want to separate professional use of the SE network sites from private use, create two separate accounts. Keep in mind though that you need to keep the browser sessions separate as well in that case as SE doesn't support two logged-in users from the same session. That will cause an immediate merge.
[1]: https://api.stackexchange.com/docs/associated-users#pagesize=50&ids=5113743&filter=!LB1ti_(e_o4DvL&run=true