How to know the user doing a delete action on an audit table, when using a shared login?
While using EXECUTE AS User = @UserId may be your best option (depending on other issues), here is an alternative approach:

In you stored procedures, or at anytime in your SQL session before you do the DELETE execute the following command:

SET CONTEXT_INFO @UserId


Then in your Trigger you can retrieve this value with 

SELECT @var = CAST(CAST(CONTEXT_INFO() As Varbinary(4)) As Int)


This has some disadvantages, the most important of which is that you cannot readily use CONTEXT_INFO for more than one thing at a time.