It all depends which possible resolutions do you target.
The best option is to make few variations of your background and use the one that is, with it's dimensions, the closest to required.
Let's say you target many possible resolutions - then you'd have following background sizes:
768x1024
480x800
320x480
Then you may save them as (for example):
bkg_768x1024.png
bkg_480x800.png
bkg_320x480.png
And find required image from code itself.
Here's an example:
deviceWidth = GetDeviceWidth()
deviceHeight = GetDeviceHeight()
// Assume the smallest
variation = "320x480"
if deviceWidth > 480 and deviceWidth < 768
variation = "480x800"
else if deviceWidth >= 768
variation = "768x1024"
endif
bkgImg = LoadImage("bkg_" + variation + ".png")
bkgSpr = CreateSprite(bkgImg)
SetSpritePosition(bkgSpr,0,0)
SetSpriteSize(bkgSpr,100,100) //<- if using percentage system
SetSpriteSize(bkgSpr,deviceWidth,deviceHeight) //<- if using virtual resolution
Since you're using vector art, it shouldn't be hard to prepare few versions.
Quote: "Also what programs do you use for making your art work?"
Well, everybody uses something else, depending on what fits their game's style and their own skills.
I, personally, often use GIMP and Flash for vector art. (Though, mainly GIMP till now)
Inkscape is good choice too.
@EDIT
Also, scaling your art work for different styles depends on what do you want to scale.
Usually it should be simply:
1. Resize canvas to particular size
2. Select all your content
3. Scale to fit
Since it's vector art, that'll work without losing on quality.