Does the following do what you want?

    WeightedGraph[edges_, weights, options___]:=
      Block[{maxweight=Max[#[[2]]&/@weights]},
        Graph[edges,VertexSize->(#[[1]]->0.9*#[[2]]/maxweight)&/@weights,options]]

    WeightedGraph[{1 \[UndirectedEdge] 2, 2 \[UndirectedEdge] 3,
                   3 \[UndirectedEdge] 1, 3 \[UndirectedEdge] 4},
       (*weights:*) {1 -> 1.1, 2 -> 1.2, 3 -> 1.3, 4 -> 1.4}]

The second line is basically your `Graph` call, except that it uses `WeightedGraph` instead of `Graph`, and the weights don't have `VertexSize->` in front of them.