Yes, you can use an AMPscript variable as the Data Extension name.
Perhaps the email is coded to work in multiple business units when using the Multi-Org Connector, where the sync'd Contact DE name varies -- like Contact_Salesforce
and Contact_Salesforce_1
respectively.
%%[
Set @ContactDE = "B1kUrHHh"
set @SubscriberKey = "098765432109876543"
set @rows = lookupRows(@ContactDE, "id", @SubscriberKey)
set @rowCount = rowcount(@rows)
if @rowCount > 0 then
for @i = 1 to @rowCount do
set @row = row(@rows, @i)
set @firstName = field(@row,"firstName")
]%%
<br>Row %%=v(@i)=%%, firstName: %%=v(@firstName)=%%
%%[
next @i ]%%
%%[ else ]%%
No rows found
%%[ endif ]%%
Output
Row 1, firstName: Jane
Row 2, firstName: Sam
Row 3, firstName: Emma
Try it yourself: https://mcsnippets.herokuapp.com/s/B1kUrHHh