Yeah, that is exactly what I was up to build. I created a field for the entity which the portal users create records for. My code gets the current language, searches in the list of portal languages and sets that determined portal language as the value of my custom field.
{% assign languagecode = website.selected_language.code %}
{% fetchxml portallanguage %}
{% endfetchxml %}
{% assign portallanguageId = portallanguage.results.entities[0].adx_portallanguageid %}
{% assign portallanguageName = portallanguage.results.entities[0].adx_name %}
While this appears to be working good, the lookup control for my portal language lookup field does not show any results.

Inside D365 on the form the lookup control works as expceted:

I even played around with creating an entity list with odata feed and entity permissions and everything, but the lookup control just doesn't want to show a list of portal languages. In the odata feed however the results are showing up as expected.

Is this some strange security behauvior around the adx_portallanguage entity or something like this? In fact it wouldn't even bother me, since in the end I will hide this field on the form, so the user won't even interact with it, but the fact that this control behaves so strange, makes me wonder if there is something wrong...