There is any way to store the screen texture in HLSL texture variable, without passing it from the C# code?
For instance, the current texture that is drowing can be accessed by using
sampler TextureSampler : register(s0);
There is any way to do the same for what is currently on the scrren?
No. I assume you are using SpriteBatch so register 0 is implicitly set to the current texture.
To get the current pixels on the screen, you have to draw everything to a render target and then pass that render target to your HLSL.