I think so. here is an incomplete approach which I had thought would answer the question constructively based on distance from a vertex or set of vertices:

Call two vertices *connected* if there is a finite path between them. The graph consists of one or more connected components. It is enough to prove the result for a connected graph $G$ having at least 3 vertices. So a vertex may have unaccountably many neighbors, however every pair of vertices has a finite shortest path connecting them.

We can label the vertices of $G$ with non-negative integers and possibly delete some edges subject to:

- There is a vertex labelled $0.$
- A vertex labelled $k \gt 0$ has at least one neighbor labelled $k-1.$
- Vertices connected by an edge have labels which differ by $1.$
- The graph is still connected.

If there is a *leaf*, a vertex of degree one, the labeling is unique: All leaves are labelled $0$ and each (other) vertex is labelled with the distance to the closest leaf. Then any edges connecting vertices with the same label are deleted

If there are no leaves then label some starting vertex $s=s_G$ with $0$, then label the others according to distance from $s,$ then delete edges connecting vertices with the same label.

**Leaf Case** Assume first that $G$ has a leaf. Select all edges labelled $2j,2j+1$. If a vertex labelled $2j$ has no neighbors labelled $2j+1,$ then select a single edge on it labelled $2j-1,2j.$ The result is a collection of single edges and stars with an odd label on the center. (We neglected the trivial but very important case that there are two vertices.) So we are done with this Leaf Case in two steps.

**Leafless Case** If $G$ has no leaves, then delete all but one edge on $s_G$. This creates no isolated vertices but may create several (even uncountably many) components. The component of $s_G$ has at least one leaf (namely $s_G$). Other vertices in that component may need their labels raised or lowered by $1$. However all edges for that component are handled in two steps. Any other components with leaves need all their labels lowered by 1. However all these components are completely handled in two steps. In any component $H$ with no leaves we pick a starting vertex $s_H$ with label $1$. It's label must be lowered to $0\dots$ **unfortunately** other labels may increase arbitrarily. I had **mistakenly** thought that
~~Although there can be (countably) infinitely many stages, the selected and discarded edges for a vertex with initial label $m$ are determined by stage $m+1$.~~