Can I get the source port from the ActionExecutingContext object? If so, how?
Yes, look at ActionExecutingContext.HttpContext.Request.Url.Port;
ActionExecutionContext.HttpContextBase.Url.Port should work for you.
use this: context.HttpContext.Request.Path OR context.HttpContext.Request.PathBase