Some parts inside my page (like div or section, not full page) are duplicated − content is the same, but visibility changes depending of viewport. Is there any tag which lets search engines identify main and alternate parts?
Don't duplicate content in a web page. That's rarely appropriate for human readers and thats how the Google bot will view and analyse your entire page as a whole. You risk it concluding that you are doing a mild form of "keyword stuffing".
If you want certain content to always be visible on screen on initial page-load (also known as 'above the fold') regardless of the size or orientation of the viewport then it is possible to redesign the page structure to allow that.
You can use the mobile sitemap tag
But it's referred to an url not a html element. And if you use ajax you can use this guide to properly set the content findability
Google now renders the page as the user would see it and indexes the content on the page that appears to users. They render the page both as desktop and mobile user agents. Google will get it right without you doing anything. They will see the content on the page just once with any given rendering. The mobile rendering will see the mobile content and the desktop rendering will see the desktop content.