Hi quroo,
Intervlan routing can be done in 2 ways
1) On layer 3 switch starting with 3550 and above
2) On external routers using any layer 2 switch
I don't think 2503 supports intervlan routing because for int vlan routing using external routers you have to configure subinterfaces on router fat ethernet interface and provide encapsulation and I think 2503 does not spport encapsulation.
1700 series router with IP PLUS feature IOS supports intervlan routing.
Any fastethernet port on switch can be used for uplink to externak router for trunk purpose.
Answering to your first question if you have the router which supports intervlan routing like 1700,2600 and above you can use any layer 2 switch like 1900,2900,2050 for using as trunk between router and switch.
HTH
Ankur