To hide vertices of one object both in Object and Edit modes and to be able to hide / unhide other ones while working I think you shold use Mask modifier.
From manual:
The Mask modifier allows vertices of an object to be hidden dynamically based on vertex groups.
Create a vertex group, assign desired vertices to it, and choose it in modifier's options. You can add multiple modifiers to the mesh to dynamically manage hidden parts.
Don't apply the modifier as the hidden geometry won't be unhidden after that.

Note that to see effect of modifier in Edit mode you have to turn on Adjust edit cage to modifier's result button in the modifier's panel.
If you have different objects located one near another you can use Local View:
Local view isolates the selected object or objects, so that they are the only ones visible in the viewport. This is useful for working on objects that are obscured by other ones, or have heavy geometry.
To enter / exit Local View press Numpad Slash. Note that when in Local View other objects won't be seen / selectable.
Combined with Mask modifier, this approach may speed up modeling objects placed next to each other.