how do you convert the lighting model to use point lights?
in your entity action you pass the position of the light to the shader:

my.skill41=float(lightpos.x);
my.skill42=float(lightpos.y);
my.skill43=float(lightpos.z);
my.skill44=float(1);

instead of sundir you have to define vecSkill41 as a constant in the shader:

VertexShaderConstant[16]=<vecSkill41>;

then you have to calculate the light direction for each vertex:

m4x4 r10,v0,c4 // transform vertexpos to world space
sub r10,r10,c16 // lightdir=vertexpos-lightpos
dp3 r10.w,r10,r10 // renormalize it
rsq r10.w,r10.w
mul r10,r10,r10.w

dp3 r8.x,r5,r10 // transform lightdir to texture space
dp3 r8.y,r6,r10
dp3 r8.z,r7,r10
mad oD0.xyz,r8.xyz,c95.x,c95.x

...
i haven't really tested this though...

also, can you pass light rgb values?
yes, sure! you could use the material diffuse, ambient, specular colors (which are accessible through vecdiffuse,...) as light colors in the shader. alternatively entity or material skills could be used to pass the color information.

finally, im trying to setup the shader to use a specific normal map for each entity type.. im having trouble with this becasue i cant use bmap_for_entity in the skin declaration.. i cant see any other way to specify variable skins..
bumpmaps can be specified per model or per material. in my example i did it per model and converted the bumpmap in the entity's action.

specifying the bumpmap per material works like that:

bmap b_bumpmap=<bumpmap.tga>;
material mat_diffuseperpixel
{
skin1=b_bumpmap;
...

technique diffuseperpixel
{
pass p0
{
Texture[0]=<texSkin1>;
Texture[1]=<mtlSkin1>;
...

starter mat_diffuseperpixel_init()
{
bmap_to_normals(mat_diffuseperpixel.skin1,16);
}

you have to use a starter function for bmap_to_normals then!