How to set host_name() value in a Sql Server Stored Procedure?
As far as I'm aware, you can't manipulate HOST_NAME() inside of SQL Server. And I think that's a good thing. The fact that you can spoof this in the connection string is something I've long considered a security problem waiting to happen.

Instead, you will need to change the logic in your triggers. For example you could store HOST_NAME() in a variable, then check PROGRAM_NAME() - if it's your PowerBuilder app, overwrite the variable with whatever, and then the trigger logic can check the variable instead of HOST_NAME().

(You can do that in fewer steps, obviously; just illustrating.)