What part exactly you want to modify? As I think what you are doing is necessary. You can use Linq2Objects but conceptually is the same:
var numbersToDelete = (from en in ExistingNumbers where NewNumbers.Contains(x -> Number) select en.Number).ToList();
Also, using that list of numbers in a predicate would be quickest than a DeleteMulti() without parameters, that work on the entities in memory, so it would generate a sql delete for each entity. So try this:
ExistingNumbers.DeleteMulti(new PredicateExpression(AtkvMemberNumberFields.Number == numbersToDelete));
I used C# but you just need to translate it to VB. For more info about that predicate FieldCompareRangePredicate.