As per my understanding to your question, I think yes, this can be done by code but not sure whether by EDMX or not. Also this is the best way of using inheritance, and reduce redundant code.
In C# you can use any class as Base, but a class can have a single base. So you can use as like below code
public class Person
{
}
public class Customer : Person
{
}
public class CompanyX_Customer : Customer
{
}
but you need to take care at the time of creating constructors (except default) if any.
Hope it may helpful...