Asset Volume using Environment Variable on File System Path as literal string on upload
If you use environment variables, you have to be aware that you can't add anything to it in your fields. What this means is that $ASSET_ADHOC_PATH/website in your CP will not be parsed. If you use environment variables, the only thing you should have in the field is the variable, nothing else.

To do what you are trying to do, you might want to consider Aliases. These are great for the Control Panel because you can add to them so @aliasName/website will be parsed 
and work the way you expect.

So in your case (and to get you going) with this ASSET_ADHOC_PATH variable set in your .env file, add the below in your config/general.php:

'aliases' =&gt; [
    '@assetAdHocPath' =&gt; getenv('ASSET_ADHOC_PATH')
],


Then in your volume settings use @assetAdHocPath/website and this should now work for you.

For the second part of the question, I'm guessing you may be trying to access an ENV in your template in which case you would use {{ getenv('ASSET_ADHOC_PATH') }} OR if you go the aliases way, {{ alias('@assetAdHocPath') }}.