if i understand you correctly, sounds kinda similar to how my virtual keyboard works. you can draw your 'box cursor' like this...
BOX %x% %y% 25 25 BLACK WHITE
when the D-pad right is pressed...
ADD x 25
D-pad left is pressed...
SUB x 25
D-pad down is pressed...
ADD y 25
D-pad up is pressed...
SUB y 25
...of course, you'll have to check for those special cases where you don't want the 'box cursor' to move any more in a certain direction...
drawing a different colored box at the same location of the box cursor when you press A (or whatever button) isn't a problem either, but getting the script to remember where to draw the 'selected' boxes after you move your 'box cursor' is. you'll prolly need some data structure to hold on/off information. will the number of possible 'selected boxes' be known before hand?
if there are only 10 possible 'selected boxes' you could have a string of ten 1s and 0s...1 meaning to draw the box, 0 meaning don't draw the box. of course, it sounds like you could use the new [] {} variable referencing for an array too. translating the 1 or 0 to a coordinate is simply a matter of math and how you want the 'selected boxes' arranged.
if your 'selected boxes' are in 2 rows of 5 each and your on/off info looks like this... "0010000000"
1 is in the 2nd position of the string (0th being the first position), so...
SelX = 2 * 25 (25 being the width of your boxes)
SelY = (2 / 6 ) * 25 (25 being the height of your boxes) (in actionscript, 2 / 6 = 0)
for "0000000010" (1 being in the 8th position in the string)
SelX = 8 * 25
SelY = (8 / 6) * 25 (8 / 6 = 1 in actionscript)
ok, this post is getting long and i should be going to bed

i hope i understood your desires and i hope didn't tell you something you already knew. i hope i actually made sense too, but if i didn't...have a look at the actionscript code of my virtual keyboard (it's on AXS). if that doesn't help, i'd be glad to help in PMs with pieces of your code

if i'm still no help, i'll be glad to see someone else help
