Show custom banner per page Admin user wants to be able to upload image banners and select on which pages/nodes/views/panels to show it when visited (as a wide screen image banner above title).

It means when creating the banner node and uploading the image, there should be some field or list of pages to select from. But e.g. Views pages has no NIDs.

I kind of came up with a solution with Panels, where you just add field for your Article content type and upload the banner and then display it via Panels, so it would show above Title, etc. But it works only on node pages, but not Views pages. And that's still very limited, it means you need to add the banner field to every content type and still no solution for Views pages.

Is it possible somehow to have some type of a field that would autocomplete the path/node nid/view path when entering keywords and would be also separated by comma for multiple paths/pages and then render it via Views using contextual filters and output the view display via Panels?
There are a few ways of going about this... and I have literally done dozens of formulas for it since Drupal 6.

The way I usually go about this is with Bean (Drupal 7). Create a new Bean that will represent your banner, add some fields - then let the admin create the bean. Since it is based on blocks, you can set content type visibility or path visibility, and if you add Context (if you need that muscle) you get a lot more options.

Another way to do it, which is hard to describe in a comment, is to setup an entity type for banners (since they are not content), add the fields you need, and then on the node level, add an entity reference field. Create a view that displays the entity type in a view mode of your choosing, and base it on the ER relationship value. As you said, this won't solve Views pages, which is why you might want to stick with the block route. This formula is a little similar, as it entails relating whatever banner entity the user wants to the given node, and, you can set a default value to one banner if you need that option.

Yet another way to do it is to put a Field Collection representing banner components (title, link, image), and hide the Field Collection from the node rendering. Create a View, feed it the node id contextual filter, and have it render the node in a 'Banner' view mode, which will only hold the field collection. Then just theme that level of templates, and you're good to go. 

The first way (with Bean) seems like your best option, whereas the second two put the creation aspect in the node form, but you lose a way to set them on non node pages (since the Views arg will fail). Blocks won't care what the page is made up of, as long as the path or visibility rule matches.