If the custom tab is a VF tab, you can grab the User's profile by using the global merge field for the user (for example {!$User.ProfileId} ). Based off the profile Id you can create a conditional URL in the page.
If it is a custom object tab, you could create formula fields for the custom link and create different page layouts for record types which will show different links for different profiles. This would be good for a small number of profiles, but not ideal for a larger set.
If the custom tab is a VF tab, you can grab the User's profile by using the global merge field for the user (for example {!$User.ProfileId} ). Based off the profile Id you can create a conditional URL in the page.
If it is a custom object tab, you could create formula fields for the custom link and create different page layouts for record types which will show different links for different profiles. This would be good for a small number of profiles, but not ideal for a larger set.